gpt4 book ai didi

excel - 为什么当我们这样写时范围对象不会自动生成 worksheets(1).range ("A1")

转载 作者:行者123 更新时间:2023-12-03 01:36:41 25 4
gpt4 key购买 nike

Workbooks(test.xlsm).Worksheets("AAA").Range("a1").Copy 
Workbooks(Practice.xlsm).Sheets("AAA").Range("c1")

为什么在上述查询中 Range 对象不会像工作表自动生成那样自动生成在编写上述代码时在工作簿对象之后。

最佳答案

非常好的问题。这是我对它的理解,我认为这是正确的,但...它可能不是正确的:D

这可以用“早期绑定(bind)”和“后期绑定(bind)”概念来解释。在后期绑定(bind)中,对象是在运行时解析的,而不是事先解析的,因此智能感知对于后期绑定(bind)对象不可用。

在 VBE 中分别输入这 2 个单词,您将看到此内容

enter image description here

Workbooks 对象早期绑定(bind)(As Workbook),Worksheets 对象后期绑定(bind)(作为对象)。

那么我们如何绕过它呢?只需声明您的对象即可。例如

Sub Sample()
Dim wb As Workbook
Dim ws As Worksheet '<~~ EARLY BINDING

Set wb = Workbooks("Test.xlsm")
Set ws = wb.Worksheets("AAA")
End Sub

现在您将获得智能感知

enter image description here

关于excel - 为什么当我们这样写时范围对象不会自动生成 worksheets(1).range ("A1"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49789045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com