424错误。有没有人能告诉我为什么切割后范围变量消失了?
with sheets(1)
Dim des as range
set des = .range("A15")
.range("A1:A3").cut des
msgbox(des.row+5)
end with
Run Code Online (Sandbox Code Playgroud)
甲Range
对象存储参考特定的细胞,而不是特定的地址。当引用的单元格四处移动时,Range
对象将跟随。例如,如果您存储 aRange("B1")
然后在 A 和 B 之间插入一列,您的变量现在将具有Range("C1")
,因为您B1
已向右移动。
当跟踪的单元格不再存在时,该Range
实例将变得无法使用。
切割会完全替换实际单元格而不是简单地覆盖它们的内容,因此您Range
正在跟踪的单元格不再存在,而其他一些单元格现在将采用A15
. 这是一个不同的单元格,所以你的Range
实例已经消失了。
一个值得注意的例外是当您仅销毁Range
. 在这种情况下,Range
接受新单元格并保持其形状。例如,如果您存储Range("A15:A20")
切Range("A1:A3")
过A15
,由此获得的范围仍然是A15:A20
。