无法设置无错误的动态范围

时间:2016-02-08 19:41:59

标签: excel vba

我试图在宏中选择一个范围,但我一直在

"编译错误:"

"预期:列出分隔符或)"

我只想尝试使用我之前创建的变量设置动态范围

With Sheets("Recon")
rownum3 = rownum2 + 2
rownum4 = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
set r3 = .range("K"&rownum3&":K"&rownum4)

这给了我错误

提前致谢

1 个答案:

答案 0 :(得分:1)

听起来很傻,你需要在你的范围内添加空格(并添加end with

With Sheets("Recon")
rownum3 = rownum2 + 2
rownum4 = .UsedRange.SpecialCells(xlCellTypeLastCell).Row
set r3 = .range("K" & rownum3 & ":K" & rownum4)
end with

出于某种原因,在使用变量时,即使用&分隔它们,VBA也不会像引号旁边的变量那样。只需在&个连接器之间添加一个空格,它就可以正常工作。

解决此非自动格式问题的一种方法是使用Range(cells(),cells())

Set r3 =.Range(.Cells(rownum3,11),.cells(rownum4,11))

Cells()是Cells([row #],[col. #]),因此将其包含在Range()中是另一种方法(我个人喜欢的任何方式)。