【发布时间】:2020-10-12 04:44:38
【问题描述】:
我对宏很陌生...我希望宏过滤名为“容器”的特定列,并检查是否有任何空白单元格,如果有任何空白单元格,那么它应该删除整行。我下面的代码只是挂起整个 excel 它不起作用。
我的代码:-
Dim tst As Worksheet
Dim lRow As Long
Dim colNumber As Long
Dim r As Range
Dim rows As Long
Dim i As Long
Dim colHB As String
Dim ColumnLetter As String
Dim CCollum As Long
colHB = "Container"
Set tst = ThisWorkbook.Worksheets("POL")
lRow = Range("A1").End(xlDown).Row
CCollum = ActiveWorkbook.Worksheets("POL").UsedRange.Columns.Count
For i = 1 To CCollum
If ActiveWorkbook.Worksheets("POL").Cells(1, i).Value = colHB Then
colNumber = i
ColumnLetter = Split(Cells(1, i).Address, "$")(1)
GoTo Continue
End If
Next i
Continue:
Set r = ActiveWorkbook.Worksheets("POL").Range("A1:" & ColumnLetter & lRow)
rows = r.rows.Count
For i = rows To 1 Step (-1)
If (Len(tst.Cells(i, colNumber))) = 0 Then r.rows(i).EntireRow.Delete
Next
Set tst = Nothing
名为 container 的列有几个空白单元格,因此宏应该过滤一个名为 container 的列,然后它应该删除整个/整个相应的行,有空白单元格。
【问题讨论】:
-
什么是错误或者它没有错误但没有为您提供您想要的结果?
-
我已经告诉过你使用自动过滤器..如果你使用自动过滤器,你不需要任何循环..
-
这段代码没有结果!它只是运行并挂起
-
你可以分享你的文件吗..如果你没有任何问题?
-
没有上传文件的选项,但是我在上面的问题中又粘贴了一张文件的屏幕截图....