配列を使って列の値を足し算・引き算するマクロ
を示す。
■Excel-VBA 配列を使って列の値を足し算・引き算するマクロ
Sub sample22() Dim M As Long, N As Long, Q As Long, R As Long, S As Long MM = Range(Cells(1, 13), Cells(MR, 13)) NN = Range(Cells(1, 14), Cells(MR, 14)) QQ = Range(Cells(1, 17), Cells(MR, 17)) RR = Range(Cells(1, 18), Cells(MR, 18)) SS = Range(Cells(1, 19), Cells(MR, 19)) TT = Range(Cells(1, 20), Cells(MR, 20)) UU = Range(Cells(1, 21), Cells(MR, 21)) On Error Resume Next 'ω'#N/A無視 For i = 2 To MR M = MM(i, 1) N = NN(i, 1) Q = QQ(i, 1) RR(i, 1) = M - Q R = RR(i, 1) S = SS(i, 1) TT(i, 1) = R + S UU(i, 1) = M + S - N Next i On Error GoTo 0 'ω'#N/A無視解除 Range(Cells(1, 18), Cells(MR, 18)) = RR Range(Cells(1, 20), Cells(MR, 20)) = TT Range(Cells(1, 21), Cells(MR, 21)) = UU End Sub※[2.] 変数宣言。
※[3.~9.] 配列に13列目(M列)…21列目(U列)の値を格納。
※[10.] 計算結果で「#N/A」エラーがでても無視する。
※[11.~20.] 配列の値を変数に入れて足し算・引き算。
計算後の値を配列に格納。
最終行までFor Nextループ。
※[21.] 「#N/A」エラー無視解除。
※[22.~24.] 配列の値を18列目(R列)、
20列目(T列)、21列目(U列)セルに格納。
■あとがき
Excel VBAマクロ。配列を使って列の値を足し算・引き算するマクロ
を示した。
Forループでセルに逐次値を代入するより
配列使用計算したものをループ完了後まとめて
セルに格納した方がシートへのアクセス回数が
少ないので処理時間はやい。
以上。