我正在尝试编写VBA来删除工作簿中找到的超过一定数量的所有行。例如my(某些行号在单元格B6中的工作表1上找到),VBA将从工作表1 B6上找到的行号开始删除工作表2上的所有行。到目前为止,这是我所拥有的,但显然不起作用
Sub Button4_Click()
Worksheets("sheet 2").Rows($B$6 & ":" & Worksheets("sheet 2").Rows.Count).Delete
End Sub
答案 0 :(得分:1)
行
Worksheets("Sheet 2").Range("B" & Worksheets("Sheet 1").Range("B6") & ":B" & Worksheets("Sheet 2").Rows.Count).EntireRow.Delete
将特别为您提供所要的内容,但是您应该问自己,删除1,000,000行以上是否真的有效。您是否可以通过使用Worksheets("Sheet 2")
或(xlUp)
方法来定义要删除的范围更小的范围来标识(xlDown)
中最后使用的行?
Worksheets("Sheet 2").Range("B" & Worksheets("Sheet 1").Range("B6") & ":B" & Worksheets("Sheet 2").Range("B" & Rows.Count).End(xlUp).Row).EntireRow.Delete
另外,根据您的使用情况,删除这些行的唯一目的是清除内容,在这种情况下,使用.ClearContents
而不是.Delete
会更快。