我使用循环查找B列中带有“0”条目的单元格,然后删除整个相应的行。
不幸的是,我无法编写它,因此它仅适用于一个特定的工作表。这是我到目前为止所得到的:
Dim myloop
For myloop = Range("B10000").End(xlUp).Row To 1 Step -1
If Cells(myloop, 4).Value = 0 Then Rows(myloop).EntireRow.Delete
Next myloop
我希望这个循环专门针对工作表2而不是我的整个代码仅在工作表2中运行,因为这个循环只是更大代码的一部分。
任何帮助都表示赞赏,并提前致谢。
答案 0 :(得分:1)
您需要使用certian Range
完全限定Worksheet
。
注意:您也可以使用AutoFilter
,对大数据的处理速度更快。
With Worksheets("Sheet1") ' <-- modify "Sheet1" to your sheet's name
For myloop = .Range("B10000").End(xlUp).Row To 1 Step -1
If .Cells(myloop, 4).Value = 0 Then .Rows(myloop).EntireRow.Delete
Next myloop
End With
备用:获取B列数据的最后一行(如果数据超过10,000行)
With Worksheets("Sheet1") ' <-- modify "Sheet1" to your sheet's name
For myloop = .Range("B" & .Cells(.Rows.Count, "B")).End(xlUp).Row To 1 Step -1
If .Cells(myloop, 4).Value = 0 Then .Rows(myloop).EntireRow.Delete
Next myloop
End With
答案 1 :(得分:0)
如果代码块在循环通过工作表的较大循环内,添加if条件(activesheet.index = 2)或只是检查活动表是否为sheet2或者它是否只是一个单独的循环然后在代码中指定表单