0

私は次のような配列を生成しています:

Dim arTest(1 To 6) As Variant

arTest(1) = "0"
arTest(2) = "1"
arTest(3) = "2"
arTest(4) = "3"
arTest(5) = "4"
arTest(6) = "5"
ActiveWorkbook.Names.Add Name:="arTest", RefersTo:=arTest

最後の行は、配列を Excel シートの「名前付き範囲」に配置します。

後で、その名前付き範囲から VBA で新しい配列を作成したいと考えています。Excel では、配列は「値」フィールドではなく、「参照」フィールドに格納されます。

次のようにアクセスできます。

Dim nm As Name
Set nm = Names("arTest")
Debug.Print nm.RefersTo

それはこれを出力します:

={"0","1","2","3","4","5"}

さて、その文字列 (文字列だと思いますか?) を VB 配列に取得する方法がわかりません。

正規表現型の解決策かもしれないと思っていますが、もっと簡単な方法があればいいのにと思います。

4

2 に答える 2

2

多分

   arOut = Evaluate(Names("arTest").Value)
于 2013-06-12T10:29:06.963 に答える
0

これはあなたの例で機能します:

Dim s As String
Dim ss() As String ' or Variant, if you prefer
s = Replace(nm.Value, """", "")
ss = Split(Mid(s, 3, Len(s) - 3), ",")
于 2013-06-12T10:36:58.367 に答える