vba - Excel vba清除一系列定期变化的数据

标签 vba excel range

我正在尝试在 excel 中创建一个简单的 vba 函数,通过查找最后使用的行并将其设置为范围的结尾来清除从 A 列到 K 列和第 6 行到数据底部的数据范围.这是我没有工作的代码:

Sub clearNameData()

Dim destSheet As Worksheet: Set destSheet = ThisWorkbook.Worksheets("Name Search")

lMaxRows = destSheet.Cells(destSheet.Rows.Count, "A").End(xlUp).Row

destSheet.range("A6:K & lMaxRows").ClearContents

End Sub

当我运行此代码时,它给了我错误“运行时错误'1004':对象'_Worksheet'的方法'范围'失败”

尽管尝试了我的范围定义的每种语法组合,但我无法确切地弄清楚如何让我试图做的事情发挥作用。任何帮助将不胜感激!

最佳答案

根据 OP 的要求,我将我的评论移至答案。

问题出在线路上

destSheet.range("A6:K & lMaxRows").ClearContents

它需要更改为:
destSheet.range("A6:K" & lMaxRows).ClearContents

请注意,结束引号移动了。假设 lMaxRows 是 500,这使得范围参数“A6:K500”,然后 VBA 可以将其评估为范围对象。以前,它是文字字符串 A6:KlMaxRows,VBA 无法将其计算为范围对象,因为变量是字符串的一部分。

关于vba - Excel vba清除一系列定期变化的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41468545/

相关文章:

vba - 如何从工作表中删除公式但保留其计算值

VBA:用值初始化对象?

Java apache POI java.lang.IllegalArgumentException : Position 21504 past the end of the file

python - 如何在 for 循环中将 DataFrames 添加到 Excel 工作簿?

c# - 中断使用 Enumerable.Range 的 IEnumerable<int> 查询

python - 检查 num 是否可以除以 1(不是 1.9、2.5,而是 1.0、6.0)

javascript - Excel 插件 : How to create a range?

excel - VBA 类中的字典属性

vba - TreeView 在点击时与点击时的行为不同

javascript - 从图表导出到 Excel Enterprise Architect