查找数组名称

我有这个代码:

Array1 = Array("apple", "pear")
Array2 = Array("Dog", "Cat")

All_Arrays = Array(Array1, Array2) 
For each item in All_Arrays
    Debug.print item
Next item

我想更改它以打印变量名称 Array1Array2. 这可能吗?

回答

我会使用Dictionary, 以标识符名称为键:

Dim Array1 As Variant
Array1 = Array("apple", "pear")

Dim Array2 As Variant
Array2 = Array("Dog", "Cat")

With New Scripting.Dictionary

    .Add "Array1", Array1
    .Add "Array2", Array2

    Dim names As Variant
    names = .Keys

    Dim outer As Long
    For outer = LBound(names) To UBound(names)

        Dim k As String
        k = names(outer)

        Debug.Print k & ":"

        Dim inner As Long
        For inner = LBound(.Item(k)) To UBound(.Item(k))
            Debug.Print vbTab & .Item(k)(inner)
        Next
    Next

End With

输出:

Array1:
    apple
    pear
Array2:
    Dog
    Cat


以上是查找数组名称的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>