#078 配列をまるごとコピーする方法 VBA

ある配列を別の配列にそのままコピーしたい場合、次のようにFor〜NextUBound関数を使って個々の配列要素を1つずつコピーしていく方法があります。
Dim aintSrc(10) As Integer
Dim aintDst(10) As Integer
Dim iintLoop As Integer

For iintLoop = 0 To UBound(aintSrc) - 1
  aintDst(iintLoop) = aintSrc(iintLoop)
Next iintLoop

しかし、コピー先の配列を、配列としてではなくバリアント(Variant)型の変数として定義すればもっと簡単に配列のコピーを行うことができます。
Dim aintSrc(10) As Integer
Dim avarDst As Variant

avarDst = aintSrc  'この1行だけでコピー完了です

※バリアント(Variant)型の変数は、メモリ使用量やアクセス速度の面で他のデータ型に劣ります。コードは簡単に記述できますが、配列の要素数が多い場合などには注意が必要です。
| Index | Prev | Next |

この情報は参考になりましたか?、問題は解決しましたか?、もしまだなら......
T'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします
 

Copyright © T'sWare All rights reserved