Workbooks(test.xlsm).Worksheets("AAA").Range("a1").Copy
Workbooks(Practice.xlsm).Sheets("AAA").Range("c1")
为什么Range对象不会在上面的查询中自动生成,因为工作表会自动生成 在编写上面代码的工作簿对象之后。
答案 0 :(得分:4)
一个非常好的问题。以下是我对它的理解,我认为这是正确的,但后来......可能不是正确的:D
这可以用" Earlybinding"来解释。和"后期绑定"概念。在后期绑定中,对象在运行时而不是事先解析,因此Intellisense不适用于 Late Bound 对象。
在VBE中分别输入这两个单词,你会看到这个
Workbooks
对象早期绑定(As Workbook
)和Worksheets
对象后期绑定(As Object
) 。
那么我们如何绕过呢?只需声明您的对象即可。例如
Sub Sample()
Dim wb As Workbook
Dim ws As Worksheet '<~~ EARLY BINDING
Set wb = Workbooks("Test.xlsm")
Set ws = wb.Worksheets("AAA")
End Sub
现在你将获得智能感知