首页 > 解决方案 > 如何使用vba清除工作表中的数据

问题描述

我正在尝试使用 vba 清除 excel 工作表中的数据。我想清除其中包含数据的单元格,不包括第 1 行。我正在尝试使用数据获取最后一行和最后一列的变量,但我不断收到超出范围的错误。

Dim lRow As Long
Dim lCol As Long
lRow = Sheets("Sheet1").Cells(Sheets("Sheet1".Rows.Count,1).End(xlUp).Row
lCol = Sheets("Sheet1").Cells(1, Sheets("Sheet1").Columns.Count).End(xlToLeft).Column

我想用这个逻辑来替换我硬编码的内容:

Sheets("Sheet1").Range("A2:D1000").ClearContents

我正在使用多张纸,这就是我指定Sheet1. 我怎样才能做到这一点?

谢谢。

标签: excelvba

解决方案


您在最后一行缺少括号,除非您限制清除内容以保留数据,否则您不需要找到最后一列。

还有一件事,您仅在 A 列中找到最后一行,因此如果另一列中的数据低于 A 列中的最后一行,您将不会清除该数据。

 lRow = Sheets("Sheet1").Cells(Sheets("Sheet1").Rows.Count,1).End(xlUp).Row
    Sheets("Sheet1").Rows("2:" & lRow).ClearContents

推荐阅读