alibaba2209
Thành viên thường trực




- Tham gia
- 4/12/10
- Bài viết
- 283
- Được thích
- 13
Nhờ anh chị! chuyển dùm công thức mảng ở cột F, J ,L sang vba, vì khi để ở công thức máng next mũi tên là nó loại load 1 lúc rất lâu.. mong được giúp đỡ!
Bạn nên đưa file giả lập lên diễn đàn thân thương của chúng ta!
em ko biết đưa giả lập đại ka à!
kích thước file lớn nên em up mediafire mong được anh chị giúp đỡ sớm!
ấy đừng làm thế chứ . nó đây nèFile cua bạn năng thấy ớn, tải gần 15 phút mà nó cứ tò te.......cuối cùng phải bỏ cuộc....hhiihihihih
em ko biết đưa giả lập đại ka à!
kích thước file lớn nên em up mediafire mong được anh chị giúp đỡ sớm!
C2=IF($B$2>='111'!$K$2:$K$9999,'111'!$C$2:$C$9999 & "; " & '111'!$D$2:$D$9999 & "; " & '111'!$E$2:$E$9999,"")
Sub RemoveEmptyCell()
Dim arr, arrF, arrJ, arrK As Variant, i, j, f, k As Long
Union([f2:f6000], [j2:j6000], [l2:l6000]).ClearContents
arr = [e2:l6000]
ReDim arrF(1 To UBound(arr), 1 To 1), arrJ(1 To UBound(arr), 1 To 1), arrK(1 To UBound(arr), 1 To 1)
For i = 1 To UBound(arr)
If arr(i, 1) <> "" Then f = f + 1: arrF(f, 1) = arr(i, 1)
If arr(i, 5) <> "" Then j = j + 1: arrJ(j, 1) = arr(i, 5)
If arr(i, 7) <> "" Then k = k + 1: arrK(k, 1) = arr(i, 7)
Next
[f2:f6000] = arrF
[j2:j6000] = arrJ
[l2:l6000] = arrK
End Sub
Công thức này thuộc dạng "xàm"công thuc nay có phải là cthuc mảng ko?
tôi thực sự ko hiểu cthuc này
Mã:C2=IF($B$2>='111'!$K$2:$K$9999,'111'!$C$2:$C$9999 & "; " & '111'!$D$2:$D$9999 & "; " & '111'!$E$2:$E$9999,"")
=IF($B$2>='111'!$K2,'111'!$C2 & "; " & '111'!$D2& "; " & '111'!$E2,"")
Cột F, cột J, Cột L mới là công thức mảng. đây là 1 file mà được ở mạng chia sẻ và e muốn tùy biến lại theo ý của mình, nhiều hàm và công thức e cũng chưa hiểu rõ lắm. Trong công thức mảng vd: công thức mảng ở cột F tìm giá trị trong cột E và luôn chuyển lên trên cùng.tôi nghĩ tốt nhất là viết code cho toàn bộ sheet"222"
nhưng tôi ko rỏ cách lấy dữ liệu
công thuc nay có phải là cthuc mảng ko?
tôi thực sự ko hiểu cthuc này
==============Mã:C2=IF($B$2>='111'!$K$2:$K$9999,'111'!$C$2:$C$9999 & "; " & '111'!$D$2:$D$9999 & "; " & '111'!$E$2:$E$9999,"")
code theo yêu cầu của bạn đây
Mã:Sub RemoveEmptyCell() Dim arr, arrF, arrJ, arrK As Variant, i, j, f, k As Long Union([f2:f6000], [j2:j6000], [l2:l6000]).ClearContents arr = [e2:l6000] ReDim arrF(1 To UBound(arr), 1 To 1), arrJ(1 To UBound(arr), 1 To 1), arrK(1 To UBound(arr), 1 To 1) For i = 1 To UBound(arr) If arr(i, 1) <> "" Then f = f + 1: arrF(f, 1) = arr(i, 1) If arr(i, 5) <> "" Then j = j + 1: arrJ(j, 1) = arr(i, 5) If arr(i, 7) <> "" Then k = k + 1: arrK(k, 1) = arr(i, 7) Next [f2:f6000] = arrF [j2:j6000] = arrJ [l2:l6000] = arrK End Sub
anh ơi! code chạy ngon rồi, nhưng làm thế làm cho nó tự động update nhỉ? mỗi lần em ấn mũi tên thì lại phải F5 1 lầntôi nghĩ tốt nhất là viết code cho toàn bộ sheet"222"
nhưng tôi ko rỏ cách lấy dữ liệu
công thuc nay có phải là cthuc mảng ko?
tôi thực sự ko hiểu cthuc này
==============Mã:C2=IF($B$2>='111'!$K$2:$K$9999,'111'!$C$2:$C$9999 & "; " & '111'!$D$2:$D$9999 & "; " & '111'!$E$2:$E$9999,"")
code theo yêu cầu của bạn đây
Mã:Sub RemoveEmptyCell() Dim arr, arrF, arrJ, arrK As Variant, i, j, f, k As Long Union([f2:f6000], [j2:j6000], [l2:l6000]).ClearContents arr = [e2:l6000] ReDim arrF(1 To UBound(arr), 1 To 1), arrJ(1 To UBound(arr), 1 To 1), arrK(1 To UBound(arr), 1 To 1) For i = 1 To UBound(arr) If arr(i, 1) <> "" Then f = f + 1: arrF(f, 1) = arr(i, 1) If arr(i, 5) <> "" Then j = j + 1: arrJ(j, 1) = arr(i, 5) If arr(i, 7) <> "" Then k = k + 1: arrK(k, 1) = arr(i, 7) Next [f2:f6000] = arrF [j2:j6000] = arrJ [l2:l6000] = arrK End Sub
Sao cell 2007 không lưu được Module nhỉ.. mỗi lần em insert tạo code thoát ra vào lại là mất là sao nhỉ
thanks đại ka!e lưu được macro rồi nhưng cho nó luôn auto cập nhật thì như nào e chưa biết làm chưa hiểu.. a nói rõ hơn với!Phải lưu lại với đuôi .xlsm hoặc .xlsb
còn câu hỏi bài #11 thì bạn hãy gán cái sub đó vào cái "spin" của bạn nếu bạn muốn mỗi lần nhấp vào nó thì nó chạy