VBA 中选定数组上的每个循环

问题描述 投票:0回答:1

每个循环都会检查我的活动工作表中的所有命名范围并执行某些操作。

Sub Test1
For Each namedRanges In ActiveWorkbook.Names
    If namedRanges.RefersToRange.Parent.Name = ActiveSheet.Name Then MsgBox namedRanges.Name
Next namedRanges
End Sub

但是,我只想调用某个名称让它们做某事,而它们是静态的。我该怎么做?

我尝试声明我想要的命名范围,但我认为我做得不对。

Sub Test3()
Dim nameArr(1 To 3) As Integer
Dim vari As Variant
nameArr("Page1") = 1: nameArr("Page2") = 2: nameArr("Page3") = 3
Dim idx As Long
    For idx = LBound(nameArr) To UBound(nameArr)
        vari = nameArr(idx)
        MsgBox vari
    Next idx
End Sub

我在这里创建了一个变量 nameArr 作为我的静态数组,目的是让它们成为唯一一个在 foreach 循环中执行某些操作的变量。

excel vba loops foreach named-ranges
1个回答
0
投票

请尝试一下。

Sub Test3()
    Dim nameArr, vari
    Dim idx As Long
    nameArr = Array("Page1", "Page2", "Page3")
    For idx = LBound(nameArr) To UBound(nameArr)
        vari = nameArr(idx)
'        MsgBox vari
        Debug.Print vari
    Next idx
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.