この関数について
このページタイトルである関数は使用しないでください。ExcelVBAには配列のコピーを作成する方法が用意されており、関数を経由する必要がありません。無駄な処理です。他のプログラミング言語を学習したことのある方にはご理解頂けるかもしれませんが、ExcelVBAを学び始めた当初の私は、配列⇒配列の代入は値のコピーではなく参照渡しであると、思い込んでいました。ExcelVBAは配列を値で代入することができます。
関数コピペ ~コードをクリックするだけでコピー完了!~
配列の代入
配列は代入することができます。変数の代入と同様「=」を使って要素数と値をそのままコピーできます。代入元の配列の中身を書き換えても代入先の配列に影響を及ぼしません。ただし静的配列を代入先にすることはできません。
サンプルコード(クリックでコピー)
【結果】配列のコピーを作成することができました
上記サンプルコードを実行すると「copy_arr」に「arr」の要素数と値が中身がコピーされ、要素のひとつをイミディエイトウィンドウに表示します。途中で「arr」に格納している値は「Erase」ステートエントで削除していますが、コピー先である「copy_arr(2, 1)」の値は表示されます。
Comment