VBAで高速処理に欠かせない配列処理
ExcelVBAマクロは動作が遅いと言われがちです。それは大きな間違いです。
大体そういう方は、大量のデータをワークシート内のセルで、検索、代入、計算しており、
その処理方法が間違いです。
一次元配列もしくは二次元配列にデータを格納してから処理をすることで、
速度の改善が見込めます。
今回は配列の中身=値を変更(更新)する方法です。
配列の値を取得する(1次元/2次元)ForEach
Public Sub sample()
'■1次元配列の場合
Dim arr1D(1) As Variant
arr1D(0) = 1
arr1D(0) = "xxx"
arr1D(1) = 2
Debug.Print arr1D(0) 'xxx
Debug.Print arr1D(1) '2
'■2次元配列の場合
Dim arr2D(0, 1) As Variant
arr2D(0, 0) = 1
arr2D(0, 0) = "xxx"
arr2D(0, 1) = 2
Debug.Print arr2D(0, 0) 'xxx
Debug.Print arr2D(0, 1) '2
End Sub
注意点
特にありません。



コメント