VBA Excel领域

时间:2019-02-19 14:54:05

标签: excel vba

如何在数组(区域类型)中存储多个区域?

Dim SelAreas() As Areas
NumAreas = Selection.Areas.Count
ReDim SelAreas(1 To NumAreas)
    For i = 1 To NumAreas
        SelAreas(i) = Selection.Areas(i)
    Next i

以上代码将其视为对属性的无效使用。

我不想存储在范围数组中。

感谢您的帮助。

关于, u路。

1 个答案:

答案 0 :(得分:0)

请记住,区域集合是一堆Range

您确实需要制作一系列范围对象,例如:

Sub dural()
    Dim Area As Range, ArrayOfAreas() As Range, i As Long
    ReDim ArrayOfAreas(1 To ActiveSheet.UsedRange.Areas.Count)

    i = 1
    For Each Area In ActiveSheet.UsedRange.Areas
        Set ArrayOfAreas(i) = Area
        i = i + 1
    Next Area
End Sub

请注意,我们使用Set是因为我们正在处理范围。