我正在尝试删除B列中有空白的任何内容。 A1:A10 = {3,1,10,1,1,10,2,2,2,10}。当我运行我的代码时,我在删除行行收到错误。这是“运行时1004错误,没有找到单元格”。显然应该找到一些细胞。到底是怎么回事?我看到有些人建议在删除行周围放置一个On Error子句,但这只会导致没有删除任何内容。
Sub test()
Dim Total_Rows As Integer
Dim rng As Range
Total_Rows = 10
Range("B1", "B" & Total_Rows) = "=if(A1=10,"""",1)"
Range("B1", "B" & Total_Rows).Copy
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValues
Set rng = Range("B1", "B" & Total_Rows)
rng.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
答案 0 :(得分:1)
您可以尝试循环播放下面的范围
For Each cell In rng
If cell.Value = "" Then cell.EntireRow.Delete
Next cell
而不是找一个空白单元格
答案 1 :(得分:0)
试试这个:
rng.AutoFilter 1, "="
rng.SpecialCells(xlCellTypeVisible).EntireRow.Delete
ActiveSheet.AutoFilterMode = False '~~> removes the filter
这个过滤空白或零长度字符串然后删除它
或者您可以直接过滤A1:A10
,如下所示:
Range("A1:A10").AutoFilter 1, 10
Range("A1:A10").SpecialCells(xlCellTypeVisible).EntireRow.Delete
ActiveSheet.AutoFilterMode = False