【问题标题】:VBA assign a range to an Array from different sheetVBA将范围分配给来自不同工作表的数组
【发布时间】:2016-02-01 13:50:43
【问题描述】:

我有两个不同的工作表,我必须将这两个工作表中的 2 个范围分配给两个不同的数组,但问题是我不能在范围之前指定一个工作表,例如

Dim flArr() as variant 
flArr = Sheets("xxx").range(A1:A10)

这给了我一个错误。有什么解决办法吗?

谢谢

【问题讨论】:

    标签: arrays vba range


    【解决方案1】:

    看看你的代码和我的代码有什么不同。删除变量变量后的括号,让 excel 找出它是一个数组。此外,您需要在引号中包含范围并指定您想要范围中的值。

    Dim flArr As Variant
    flArr = Sheets("xxx").Range("A1:A10").Value
    

    希望这会有所帮助:)

    你也可以像这样做一些不太常见的构造,但这会很尴尬。

    Dim arr() As Variant
    ReDim arr(1 To 10)
    arr() = Sheets("xxx").Range("A1:A10").Value
    

    希望对你有帮助

    【讨论】:

    • 谢谢..但是有括号和没有括号有什么区别。
    • 不同之处在于,使用括号 Excel 创建一个变量来存储和数组,如果你想写入它,你需要有正确数量的索引。没有括号的方式,您将根据需要扩展索引。
    猜你喜欢
    • 2013-11-20
    • 2017-09-10
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 2013-12-13
    • 2015-10-12
    • 1970-01-01
    相关资源
    最近更新 更多