gpt4 book ai didi

excel - 将范围保存到变量

转载 作者:行者123 更新时间:2023-12-02 02:46:05 24 4
gpt4 key购买 nike

我编写了一些函数式 VBA:

Sheets("Src").Range("A2:A9").Copy Destination:=Sheets("Dest").Range("A2")

为了灵 active ,我想将源范围提取到变量中。

SrcRange = Sheets("Src").Range("A2:A9")
SrcRange.Copy Destination:=Sheets("Dest").Range("A2")

但是,这不起作用。SrcRange 应调暗为多少?第一行正确吗?
我尝试将 SrcRange 调暗为范围,它给了我
运行时错误 91:未设置对象变量或 With block 变量

我对这门语言不太熟悉,文档让我很失望(我找不到 Sheets(index) 调用的返回类型,this 是我找到的最接近的类型)。当我点击“录制宏”,执行一些操作,然后点击“停止”时,宏主体仍然是空白的。

有人可以阐明如何使用 SrcRange 作为变量吗?

最佳答案

在您自己的回答中,您实际上是这样做的:

Dim SrcRange As Range ' you should always declare things explicitly
Set SrcRange = Sheets("Src").Range("A2:A9")
SrcRange.Copy Destination:=Sheets("Dest").Range("A2")

您并不是真正将范围“提取”到变量,而是设置了对该范围的引用。

在许多情况下,这可以更高效、更灵活:

Dim Src As Variant
Src= Sheets("Src").Range("A2:A9").Value 'Read range to array
'Here you can add code to manipulate your Src array
'...
Sheets("Dest").Range("A2:A9").Value = Src 'Write array back to another range

关于excel - 将范围保存到变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9951415/

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