#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'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved