为什么在数组中存储联合范围的值仅存储第一个范围的值?

时间:2018-09-19 19:11:32

标签: excel vba

我试图使用union属性来连接一定范围的单元格并一次获取所有值,但是在检查代码后,我注意到myarray仅保留了第一个范围值(即C2:C12)。

Sub macro()
    Dim myarray() As Variant
    Dim myrange As Range

    With Worksheets(1)
        Set myrange = Application.Union(.Range("C2:C12"), .Range("G2:G12"), _
        .Range("J2:J12"), .Range("T2:T12"))
    End With

    myarray = myrange.Value

End Sub

当我将值设置为工作表中的某个范围时,它工作正常,这使我相信它可以将值作为数组访问。有什么原因不能如我所愿吗?有没有更好的方法来执行这种操作?

0 个答案:

没有答案