gpt4 book ai didi

vba - 将上边界传递给数组

转载 作者:行者123 更新时间:2023-12-02 13:11:30 25 4
gpt4 key购买 nike

我希望我的宏从另一张纸上的电话号码列表中读取,计算行数,然后根据行数从 A1:An... 构造一个数组。该数组始终从 A1 开始。

Dim lrow As Variant 

lrow = Cells(Rows.Count, 1).End(xlUp).Row

Dim PhonesArray as Variant

PhonesArray = " [A1:A" & lrow & "].Value2

我无法将上边界 (lrow) 传递给 PhonesArray。

它应该运行为

PhonesArray = [A1:A**40**].Value2

lrow 变量计算正确,但我无法将其传递到数组构造中。静态范围按预期工作。非常感谢您提供任何帮助,如果问题之前已得到解决,请提前致歉。我无法通过搜索找到解决方案。

最佳答案

一般来说,使用 [A1] 类型简写来引用单元格是一个坏主意,并且它不支持将其放在这样的字符串中。使用 Range() 代替,您将有几个选项:

  • 范围("A1:A"& lRow)
  • 范围("A1").调整大小(lrow,1)

鉴于您提供的代码,我将废弃 lrow 变量并仅使用它:

Dim PhonesArray As Variant

With ThisWorkbook.Worksheets("Sheet1")
PhonesArray = Range(.Range("A1"), .Cells(.Rows.Count, 1).End(xlUp)).Value2
End With

关于vba - 将上边界传递给数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49388399/

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