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
注意点
特にありません。
コメント