配列を使って列の値を足し算・引き算するマクロ
を示す。
■Excel-VBA 配列を使って列の値を足し算・引き算するマクロ
※[2.] 変数宣言。
- 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
※[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ループでセルに逐次値を代入するより
配列使用計算したものをループ完了後まとめて
セルに格納した方がシートへのアクセス回数が
少ないので処理時間はやい。
以上。