【发布时间】:2019-11-23 01:11:19
【问题描述】:
Apparently,VBA 函数参数中的括号将 ByRefs 转换为 ByVals,
而 Range Copy,其唯一可用的变量是 Destination Range,需要该目的地是 ByRef 吗?
那么,这是如何工作的?使用 Worksheet Specified 引用的 Cell 是括号中的 ByRef 是否应该转换为 ByVal 并导致 Copy 失败?
Range("A1").Copy (Worksheets("Sheet1").Range("E5"))
【问题讨论】:
-
谁说它需要目的地通过
ByRef? -
@Rory - 这就是我从上一个问题的答案中得到的。 - stackoverflow.com/questions/58864512/…
-
我不确定这是否正确。它需要一个
Range对象,这是真的。检查以下结果:typename((sheets(1).range("A1")))与typename((range("A1"))),你应该明白为什么一个有效而另一个无效。 -
@Rory - Range vs. String... 所以我最初的问题接受的答案充满了真实的东西,但对我的问题的解释有误吗?
-
要将其标记为重复:OP 有兴趣阅读的两个候选人:stackoverflow.com/q/56692769/9101981 和 stackoverflow.com/q/45747604/9101981。可惜我不能在一个标志中添加两个重复项,因为两个帖子都有全面的答案(由 Mathieu 撰写)