| |||||||||
| |||||||||
Sub XOADONGTRONG()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> "Sheet1" And ws.Name <> "TongHop" Then
ws.Range("H1:H" & ws.Range("H3000").End(xlUp).Row). _
SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End If
Next ws
End Sub
Sub XoaDongTongTrongCacTrang()
Dim Ws As Worksheet, Cls As Range, Rng As Range
'On Error Resume Next '
For Each Ws In ActiveWorkbook.Worksheets
If Ws.Name <> "Sheet1" And Ws.Name <> "TongHop" Then
Dim dRg As Range
Set Rng = Ws.Range(Ws.[H1], Ws.[H65500].End(xlUp))
For Each Cls In Rng
If Cls.Value = "" Then
If dRg Is Nothing Then
Set dRg = Rows(Cls.Row & ":" & Cls.Row)
Else
Set dRg = Union(dRg, Rows(Cls.Row & ":" & Cls.Row))
End If
End If
Next Cls
If Not dRg Is Nothing Then
MsgBox dRg.Rows.Count, , Ws.Name: dRg.Delete
Set dRg = Nothing
End If
End If
Next Ws
End Sub
Bạn chạy sub Main xem được không ạ:Mình chạy thử vẫn không được. Mình gửi file mong bạn giúp đỡ. Xin chân thành cảm ơn
Option Explicit
Sub Main()
Dim ws As Worksheet, r As Range, lr As Long
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "Sheet1" Then
With ws
lr = .Cells(.Rows.Count, "J").End(xlUp).Row
Set r = .Range("D10:AD" & lr)
RemoveBlankRows r
End With
End If
Next ws
End Sub
Sub RemoveBlankRows(ByVal sRng As Range)
'Code by nickname befaint --- giaiphapexcel
Dim a(), maxR As Long, i As Long, j As Long, k As Long, maxC As Long
Dim Res(), sTxt As String
If sRng.Rows.Count = 1 Then Exit Sub
a = sRng.Value2
maxR = UBound(a, 1)
maxC = UBound(a, 2)
ReDim Res(1 To maxR, 1 To maxC)
For i = 1 To maxR
sTxt = ""
For k = 1 To maxC
sTxt = sTxt & a(i, k)
Next k
If Len(sTxt) > 0 Then
j = j + 1
For k = 1 To maxC
Res(j, k) = a(i, k)
Next k
End If
Next i
sRng.ClearContents
If j > 0 Then sRng.Cells(1, 1).Resize(j, maxC).Value = Res
End Sub
Chưa được ở chỗ nào sheet nào vậy bạn, bạn tô màu vàng giúp mình chỗ đó nhé.Cảm ơn bạn. Vẫn chưa được mong bạn tải file mình ở trên chạy thử, mình muốn bỏ dòng trống theo điều kiện cột H có ô trống thì xóa cả hàng tất cả các sheet
Bài đã được tự động gộp:
Thêm 1 lệnh, như sau:Mình chạy thử vẫn không được. Mình gửi file mong bạn giúp đỡ. Xin chân thành cảm ơn
Sub XoaDongTongTrongCacTrang()
Dim Ws As Worksheet, Cls As Range, Rng As Range
'On Error Resume Next '
For Each Ws In ActiveWorkbook.Worksheets
If Ws.Name <> "Sheet1" And Ws.Name <> "TongHop" Then
4 Dim dRg As Range: Ws.Select
Set Rng = Ws.Range(Ws.[H1], Ws.[H65500].End(xlUp))
For Each Cls In Rng
If Cls.Value = "" Then
If dRg Is Nothing Then
Set dRg = Rows(Cls.Row & ":" & Cls.Row)
Else
Set dRg = Union(dRg, Rows(Cls.Row & ":" & Cls.Row))
End If
End If
Next Cls
If Not dRg Is Nothing Then
MsgBox dRg.Rows.Count, , Ws.Name: dRg.Delete
Set dRg = Nothing
End If
End If
Next Ws
End Sub
Cản ơn bạn nhiềuThì bạn xóa bén câu lệnh này đi:
MsgBox dRg.Rows.Count, , Ws.Name:
(Nhớ xóa luôn ký tự ':' đó nha.)
Thử 1 cách khác:Cảm ơn bạn nhưng vẫn không xóa hết. Mình gửi file mong bạn giúp đỡ. Cảm ơn nhiều
Bài đã được tự động gộp:
Đã làm nhiều lần nhưng không được mong được giúp đỡ. Cảm ơn nhiều. Hy vọng sẽ thành công
Sub XoaDong_NeuCotH_Rong()
Application.ScreenUpdating = False
Dim i As Long, j As Long
'Xóa tù Sheet 3 > Sheet 14 (2 sheet bên trái không xóa)
For i = 3 To 14
Sheets(i).Activate
'Loop qua dòng 1500 Tói dòng 10
For j = 1500 To 10 Step -1
'Néu Cell trong côt H là tróng
If Cells(j, 8) = "" Then
'Delete dòng néu côt H có Cell tróng
Rows(j).Delete
End If
Next j
Next i
Application.ScreenUpdating = True
End Sub
Cảm ơn bạn nhiềuThử 1 cách khác:
Mã:Sub XoaDong_NeuCotH_Rong() Application.ScreenUpdating = False Dim i As Long, j As Long 'Xóa tù Sheet 3 > Sheet 14 (2 sheet bên trái không xóa) For i = 3 To 14 Sheets(i).Activate 'Loop qua dòng 1500 Tói dòng 10 For j = 1500 To 10 Step -1 'Néu Cell trong côt H là tróng If Cells(j, 8) = "" Then 'Delete dòng néu côt H có Cell tróng Rows(j).Delete End If Next j Next i Application.ScreenUpdating = True End Sub
Nhờ các bạn giúp code: Sheet T1 cột I dòng 2 đặt hàm Vlookup lấy dữ liệu ở sheet Loaitru (Cột A và B) vlookup đến dòng cuối cùng, sheet T2 cột I đặt hàm Vlookup lấy dữ liệu ở sheet Loaitru (Cột C và D) vlookup đến dòng cuối cùng.............sheet T12 cột I đặt hàm Vlookup lấy dữ liệu ở sheet Loaitru (Cột w và X) vlookup đến dòng cuối cùng. Xin trân trọng cảm ơn bạn nhiều. file đính kèm |