バリアント変数があり、次の範囲の値を次のように渡します。
Option Base 1
Dim varEmployees As Variant
varEmployees = Range("A1:B5").Value
この 2D バリアントには、第 1 次元に従業員 ID、第 2 次元に従業員名が含まれるようになりました。したがって、次のようなものが得られます。
varEmployees(1,1) = 1234 varEmployees(1,2) = John Doe
varEmployees(2,1) = 5678 varEmployees(2,2) = Jane Smith
varEmployees(3,1) = 9012 varEmployees(3,2) = Mary Major
varEmployees(4,1) = 3456 varEmployees(4,2) = Judy Stiles
varEmployees(5,1) = 7890 varEmployees(5,2) = Richard Miles
ループを使わずに2次元のみを範囲に書き戻したいのですが、以下のコードを使うと...
Range("D1:D5") = varEmployees
実際の結果の下に示されているように、1 番目のディメンションしか得られませんが、必要なのは望ましい結果 (2 番目のディメンションのみ) です。
Actual Results Desired Results
-------------- ---------------
1234 John Doe
5678 Jane Smith
9012 Mary Major
3456 Judy Stiles
7890 Richard Miles
これを行う方法はありますか、または私が認識していないバリアント配列に関する規則はありますか。