清除所有内容

use*_*962 1 excel vba excel-vba

我试图编写将完全擦除工作簿中的单元格内容的代码.

我想要两个相似的Subs:一个Sub清除所有内容,另一个Sub清除从第二行到最后一行的所有内容.

我正在使用以下代码,但它返回一个错误:

Sub Populate_RA_Sheet()
    '
    ' Populate_RA_Sheet Macro
    '
    RA_Sheet(2).Cells.ClearContents
    '
End Sub
Run Code Online (Sandbox Code Playgroud)

Sid*_*out 7

假设表单的名称是Sheet1Then

一个代码清除所有内容

ThisWorkbook.Sheets("Sheet1").Cells.ClearContents
Run Code Online (Sandbox Code Playgroud)

和其他代码清除从第2行到最后一行的所有内容,无论它是什么.

您可以找到最后一行,然后清除内容.但是你为什么要那样做呢?只需ALL在第二行后清除行?

With ThisWorkbook.Sheets("Sheet1")
    .Rows("2:" & .Rows.Count).ClearContents
End With
Run Code Online (Sandbox Code Playgroud)

如果你仍然想要清除第二行开始直至最后一行的所有内容,然后看如何找到最后一行,一旦你得到了最后一排,然后简单地使用这个

With ThisWorkbook.Sheets("Sheet1")
    .Rows("2:" & LastRow).ClearContents
End With
Run Code Online (Sandbox Code Playgroud)

注意:

  1. 如果说Cell A1:A2已合并,则上述代码将失败.所以要小心:)
  2. 此代码将清除单元格但不删除任何形状/格式.你必须单独处理它.