excel - 如何使用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
. 我怎样才能做到这一点?
谢谢。
解决方案
您在最后一行缺少括号,除非您限制清除内容以保留数据,否则您不需要找到最后一列。
还有一件事,您仅在 A 列中找到最后一行,因此如果另一列中的数据低于 A 列中的最后一行,您将不会清除该数据。
lRow = Sheets("Sheet1").Cells(Sheets("Sheet1").Rows.Count,1).End(xlUp).Row
Sheets("Sheet1").Rows("2:" & lRow).ClearContents
推荐阅读
- java - 查找字符串 S2 所花费的时间
- android - 查看如果用户没有互联网,则没有可用的应用内连接
- debugging - 如何在目标外部的生成文件中打印文本?
- xamarin.forms - 如何在 xamarin iOS 项目故事板文件中将 LaunchScreen 图像宽度约束设置为超级视图?
- javascript - ReactJS:setState 和回调后状态未更新
- firebase - 云 Firestore 中的 IN 查询
- swift - 列出 Swift 中的所有窗口名称
- ip-address - WINDOWS名字解析
- java - 如何从 firebase 服务器获取图像和视频到我的博客应用程序?
- javascript - 取消组件WillUnmount中的任务