「VBAで配列を使って複数列に異なる計算式を適用するテンプレート」を紹介します。
Excelシート上のデータを配列に読み込み、列ごとに異なる処理をまとめて実行する基本形です。
VBA テンプレート例
Sub MultiColumnCalcTemplate()
Dim ws As Worksheet
Dim rng As Range
Dim arr As Variant
Dim resultArr() As Variant
Dim i As Long, j As Long
' 対象シートと範囲を指定
Set ws = ThisWorkbook.Sheets("Sheet1")
Set rng = ws.Range("A2:C10") ' A~C列のデータ
' 配列に読み込み
arr = rng.Value
' 結果配列を同じサイズで用意
ReDim resultArr(1 To UBound(arr, 1), 1 To UBound(arr, 2))
' 各列ごとに異なる計算式を適用
For i = 1 To UBound(arr, 1)
' 1列目 → 2倍
resultArr(i, 1) = arr(i, 1) * 2
' 2列目 → 平方
resultArr(i, 2) = arr(i, 2) ^ 2
' 3列目 → 10を引く
resultArr(i, 3) = arr(i, 3) - 10
Next i
' 結果をシートに書き戻し(例: E列以降)
ws.Range("E2").Resize(UBound(resultArr, 1), UBound(resultArr, 2)).Value = resultArr
End Sub
VBテンプレのポイント
- 配列に一括読み込み → 計算 → 一括書き戻し が高速で効率的
ReDim resultArr(...)で元データと同じサイズの結果配列を用意- 列ごとに処理を分けたい場合は
resultArr(i, 列番号)に個別の式を記述 - 計算式部分を関数化すればさらに柔軟に拡張可能
応用アイデア
- 列ごとの処理を Select Case で分岐させる
- 計算式を 配列やDictionaryにまとめて管理し、ループで適用する
- 元データと結果を別シートに出力して比較できるようにする
👉 このテンプレートは「列ごとに固定の計算式」を想定しています。


