清除从特定单元格开始的已用范围

Clear Used Range Starting With Specific Cell

我想清除Sheet1的使用范围,但是从A8以下开始。我想保留 A7 及更高版本中的数据,但低于该范围的任何数据都将被清除。我尝试了这种语法,但它并没有一直到工作簿的末尾 ("used range")。是的,使用范围的最后一个单元格在 A65536

之前
For LastRow = 2 To Worksheets("Sheet1").Range("A65536").End(xlUp).Row
  Next LastRow
Range("A" & LastRow).ClearContents

如何清除包含 A8 行到已用范围末尾数据的所有单元格?

您的代码(除了在循环中什么都不做)只为一个单元格构建一个地址。只需构建一个 Range 类似 8:42 或最后一行的内容并清除:

With Worksheets("Sheet1")
    .Range("8:" & .Range("A65536").End(xlUp).Row).ClearContents
End With

您很接近尝试以下操作 - 这样您就不必指定 "end range"。它将删除第 8 行以下的所有内容

With Sheets("Sheet1")
    .Rows(8 & ":" & .Rows.Count).Delete
End With

或版本不可知论者(迎合你的 Excel 版本,Excel-2003 有 2^16 或 65536 行)

Range([a8], Cells(Rows.Count, "A")).EntireRow.ClearContents