cq461186neu
Thành viên mới

- Tham gia
- 5/5/09
- Bài viết
- 1
- Được thích
- 0
Kính chào các anh chị!
Hiện tại em có một file tổng hợp dữ liệu và muốn lọc lấy dữ liệu theo nhiều điều kiện một cách tự động từ sheet tổng hợp sang một sheet mới.
Em đã tìm hiểu và tập viết một code bằng VBA để thực hiện nhưng đến đoạn
Anh chị có thể giúp em hoàn chỉnh code trên không ạ!
Cảm ơn anh chị đã quan tâm!
Hiện tại em có một file tổng hợp dữ liệu và muốn lọc lấy dữ liệu theo nhiều điều kiện một cách tự động từ sheet tổng hợp sang một sheet mới.
Em đã tìm hiểu và tập viết một code bằng VBA để thực hiện nhưng đến đoạn
trong code thì không biết phải tiếp tục như thế nào.Union(.Offset(1, 0).Resize(, 2), .Offset(1, 3).Resize(, 4), .Offset(1, 10).Resize(, 1)).SpecialCells(12).Copy
Sh2.Range("A11").PasteSpecial 3
Mã:
Sub LocDuLieu()
Dim Sh1 As Worksheet, Sh2 As Worksheet
On Error Resume Next
Set Sh1 = Sheets("Bang tap hop CF phat sinh"): Set Sh2 = Sheets("Loc chi tiet")
Application.ScreenUpdating = False
Sh2.Range("D11:H65536").ClearContents
With Sh1.Range(Sh1.[H17], Sh1.[AC65536].End(xlUp))
.AutoFilter 3, IIf(Sh2.[C4] = "", "<>", Sh2.[C4])
.AutoFilter 14, IIf(Sh2.[C5] = "", "<>", Sh2.[C5])
.AutoFilter 15, IIf(Sh2.[C6] = "", "<>", Sh2.[C6])
.AutoFilter 20, IIf(Sh2.[C7] = "", "<>", Sh2.[C7])
Union(.Offset(1, 0).Resize(, 2), .Offset(1, 3).Resize(, 4), .Offset(1, 10).Resize(, 1)).SpecialCells(12).Copy
Sh2.Range("A11").PasteSpecial 3
.AutoFilter
End With
ActiveCell.Select
With Sh2.Range("A10").CurrentRegion
If .Rows.Count > 1 Then
.Resize(, 1).SpecialCells(2, 1).Value = Evaluate("ROW(R:R)")
.Offset(.Rows.Count)(1, 1) = "T" & ChrW(7892) & "NG C" & ChrW(7896) & "NG"
.Offset(.Rows.Count)(1, 5) = Evaluate("Sum(" & .Offset(, 4).Resize(, 1).Address & ")")
.Offset(.Rows.Count)(1, 6) = Evaluate("Sum(" & .Offset(, 5).Resize(, 1).Address & ")")
End If
End With
Application.ScreenUpdating = True
MsgBox "Hoàn thành", vbInformation, "Thông báo"
End Sub
Cảm ơn anh chị đã quan tâm!