Ad xem giúp mình, bài tập này mình sai ở đâu, khi mình lọc thì kết quả cập nhật ở cột C khác với kết quả cập nhật lúc bỏ lọc (tại cột C, mình có giữ công thức tại ô C2 để filldown, cột A2, B2 thì nó ko có công thức, chỉ là dữ liệu fill xuống)
Chào bạn bạn đang muốn lọc dữ liệu sang sheets khác đúng không?
Chào bạn bạn cần copy rồi dán dạng value nhé
Option Explicit
Sub Copydulieu()
'vungcopy
Range("A1:D10").Copy
'diachi o dau tien dan du lieu
Sheet1.Range("A24").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Đây là đoạn sub của mình nhé, tại C2=CONCATENATE(G2,"-",H2), A2 và B2 thì là dữ liệu thường không chứa công thức.
+ (1) Khi mình chạy sub này không ở trạng thái lọc thì công thức tại C2 được fill đúng xuống các dòng phía dưới.
+ (2)Khi mình chạy sub này ở trạng thái lọc thì không fill được công thức C2 xuống các ô mà nó copy dữ liệu ở ô đầu tiên của dữ liệu lọc xuống ô phía dưới
=> Làm thế nào để sub đúng được như (1) cả ở trạng thái lọc
Sub NoiMaViTri()
'B1: gan bien
Dim DongCuoi As Long
DongCuoi = Sheet1.Range("D" & Rows.Count).End(xlUp).Row
'B2: fill cong thuc hoac du lieu tu A2,B2,C2 den dong cuoi
Range("A2:C" & DongCuoi).FillDown
'B3: Bo cong thuc tu C3 xuong dong cuoi
Range("A3:C" & DongCuoi).Select
Range(Selection, Selection.End(xlDown)).Copy
Selection.PasteSpecial paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'B4: Bo dau hien thi copy
Application.CutCopyMode = False
End Sub
Chào bạn, bạn có thể đẩy file lên giúp gitiho không nhỉ?
Mình gửi nhé
Chào bạn bạn gửi lên google drive rồi cho gitiiho xin link công khai nhé.
Như bạn có mô tả: khi chạy sub ở trạng thái bình thường thì đúng, còn trạng thái lọc thì không đúng.
=> cách giải quyết là thêm 1 đoạn code để luôn luôn đưa về trạng thái không lọc trước khi filldown.
Cách đơn giản là bạn record đoạn code liên quan tới thao tác bỏ lọc (Clear trong phần filter) hoặc bỏ luôn filter => đưa đoạn code này vào trước dòng lệnh filldown.