Sao không Filter và chọn 0 rồi xóa cho lẹ.
Bạn nêu vấn đề chưa rỏ, xóa dòng có số 0 hay cả các Cell là Blanks
mình đang dùng code lấy dữ liệu từ nhiều file, nhưng chưa biết cách xóa các dòng có số lượng ( cột E ) bằng 0.
các cell là blanks thì đã xóa từ trước rồi nên k cần xóa nữa
bạn có code nào hay giúp mình
mình nghĩ code delete ròng có giá trị =0 đặt sau đoạn này
With Master
Erow = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Range("a" & ErowP & ":a" & Erow).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
Code dưới mình cũng chỉ chỉnh sửa theo gợi ý của các anh chị khác. do không hiểu về VBA nên k tự nghĩ code cho các điều kiện được
Sub nhap_kiem_ke()
Dim Master As Worksheet, sh As Worksheet, wk As Workbook, strFileName As String
Dim Arr As Variant, v As Integer, Rng As Range
Dim ErowC As Long, Np As Long, ErowP As Long
Application.ScreenUpdating = False
Set Master = ActiveWorkbook.Sheets("data")
On Error GoTo NoFile
Arr = Application.GetOpenFilename( _
filefilter:="Excel Files (*.xls*),*.xlsx*", MultiSelect:=True)
For v = LBound(Arr) To UBound(Arr)
strFileName = Arr(v)
Set wk = Workbooks.Open(strFileName, False)
For Each sh In wk.Sheets
If sh.Name Like "*data*" Then
With sh
ErowP = Master.Range("A" & Rows.Count).End(xlUp).Row + 1
ErowC = .Range("a" & Rows.Count).End(xlUp).Row
Set Rng = .Range("a8:a" & ErowC).Resize(, 7)
Np = ErowC - 8 + 1: Master.Range("A" & ErowP).Resize(Np, 7) = Rng.Value2
End With
End If
Next sh
wk.Close False
With Master
Erow = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Range("a" & ErowP & ":a" & Erow).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
Next
MsgBox "Qua trinh lay du lieu hoan thanh"
NoFile:
Exit Sub
Application.ScreenUpdating = True
End Sub