プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。

VBAで教えてください。
1次元配列(0)="A"
1次元配列(1)="B"
があります。
これを
二次元配列(0,0)="A"
二次元配列(1,0)="B"
と一括で挿入したいのですが、
二次元配列(0)=1次元配列
とすると、エラーがでました。

どのようにすれば一括コピーできるのでしょうか。
何とぞよろしくお願いいたします。

A 回答 (2件)

こんにちは



添字の記述法が少し変わっても良ければ、以下のような記述をすることは可能です。

Dim ary1(0 To 1), ary2(0 To 1)

ary1(0) = "A"
ary1(1) = "B"

ary2(0) = ary1

Debug.Print ary2(0)(0) ' →A
Debug.Print ary2(0)(1) ' →B


値が数値の場合は配列計算で変換できるかも知れませんが、文字列配列なのでその手も使えなそうですね。
正攻法での方法は思いつきませんが、一括コピーメソッドを別に作成しておいて
 ary2 = 一括コピー(ary1)
などと記述するのでも良ければ可能ですね。、
参照渡しで直接代入してしまえば
 一括コピー(ary2, ary1)
とかでも良さそう。
    • good
    • 1

for ~ next などのループを使わず1命令で実行するって事でしょうね。

たぶん。
20年ほどVBAしてますけど、そんな関数は無かったと思います。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A