Mình có file dữ liệu , code VBA bị lỗi sau nhờ mọi người hỗ trợ.*(file đính kèm)
Lỗi "
- triết xuất dữ liệu -> tạo sang 1 sheet mới nhưng mất phần dòng tiêu đề ở sheet gốc.
-ở cột cần triết xuất thì nếu không có dữ liệu liền nhau thì nó không triết xuất được
->( code mình muốn là dòng nào có dữ liệu thì phải triết xuất , không có dữ liệu thì thôi)
Thanks mọi người.
Lỗi "
- triết xuất dữ liệu -> tạo sang 1 sheet mới nhưng mất phần dòng tiêu đề ở sheet gốc.
-ở cột cần triết xuất thì nếu không có dữ liệu liền nhau thì nó không triết xuất được
->( code mình muốn là dòng nào có dữ liệu thì phải triết xuất , không có dữ liệu thì thôi)
Thanks mọi người.
Sub TrietXuat()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Data Plan")
Application.ScreenUpdating = False
'Coppy và remove duplicate de lay cac trang thai
ws.Columns(12).Copy
ws.Columns(22).PasteSpecial xlPasteValues
ws.Range("V2").CurrentRegion.RemoveDuplicates Columns:=1, Header:=xlYes
'ket thuc loc cac trang thai
'Loc cac trang thai va copy
Dim i As Integer
Dim nws As Worksheet
Dim startcell As Range
Set startcell = ws.Range("A2")
i = 3
While (ws.Cells(i, 22) <> "")
'tao sheet moi o cuoi
Worksheets.Add after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Set nws = ActiveSheet
nws.Name = ws.Cells(i, 22)
ws.Select
'filter
startcell.CurrentRegion.AutoFilter Field:=12, Criteria1:=ws.Cells(i, 22)
startcell.CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
nws.Range("A1").PasteSpecial
nws.Cells.EntireColumn.AutoFit
ws.Select
startcell.AutoFilter
i = i + 1
Wend
Application.ScreenUpdating = True
startcell.Select
ws.Columns(22).Delete
MsgBox "DA HOAN THANH"
End Sub
Sub del_sheet()
Dim ws As Worksheet
Dim iws As Worksheet
Application.DisplayAlerts = False
Set ws = ThisWorkbook.Sheets("Data Plan")
Set ws = ThisWorkbook.Sheets("Drop")
For Each iws In ThisWorkbook.Sheets
If iws.Name <> ws.Name Then
iws.Delete
End If
Next
Application.DisplayAlerts = True
End Sub
Sub saveAndclose()
ThisWorkbook.Save
ThisWorkbook.Close
End Sub
File đính kèm
Lần chỉnh sửa cuối: