👌

ExcelのマクロVBA入門③

2023/06/28に公開

目次

  • 合計を計算する
  • 合計の計算を繰り返す

合計を計算する

セルD6 = D4 + D5

  1. セルD6を選択
  2. 選択セルに「=D4 + D5」と入力
Sub セルD6の合計を計算()
  Range("D6").Select
  Selection = "=D4 + D5"
End Sub

ところが!!
このコードには問題があり、計算を繰り返すのが大変。

  1. セルを選択して計算式を入力
  2. 1つ右のセルを選択
  3. 計算式を入力
  4. 1つ右のセルを選択
    ・・・
Sub 6行目の合計を計算()
  Range("D6").Select
  Selection = "=D4 + D5"
  Selection.Offset(0,1).Select
  Selection = "=E4 + E5"
  Selection.Offset(0,1).Select
  Selection = "=F4 + F5"
End Sub

これだと毎回セルを指定するのは大変!
1部同じコードにしてみる・・・

Sub 6行目の合計を計算()
  Range("D6").Select
  Selection = Selection.Offset(-2,0) + Selection.Offset(-1,0)
  Selection.Offset(0,1).Select
  Selection = Selection.Offset(-2,0) + Selection.Offset(-1,0)
  Selection.Offset(0,1).Select
  Selection = Selection.Offset(-2,0) + Selection.Offset(-1,0)
End Sub

今回のコード

  1. セルD6を選択
  2. 選択セルに「2つ上のセルと、1つ上のセルの合計」と計算
Sub セルD6の合計を計算()
  Range("D6").Select
  Selection = Selection.Offset(-2,0) + Selection.Offset(-1,0)
End Sub

合計の計算を繰り返す

手作業だと?

  1. セルを選択
  2. セルの合計を計算
  3. 選択セルから、1つ右のセルに移動
  4. 次のセルの合計を計算
  5. どんどん右に移動して、計算していく・・・

ポイントを踏まえて・・・

Sub すべての合計セルを計算()
  Range("D6").Select
  Selection = Selection.Offset(-2,0) + Selection.Offset(-1,0)
  Selection.Offset(0,1).Select
  Selection = Selection.Offset(-2,0) + Selection.Offset(-1,0)
  Selection.Offset(0,1).Select
  Selection = Selection.Offset(-2,0) + Selection.Offset(-1,0)
  Selection.Offset(0,1).Select
  Selection = Selection.Offset(-2,0) + Selection.Offset(-1,0)
  ' ここまで6行目を計算
  Selection.Offset(-3,3).Select
  ' 9行目に移動
End Sub

Discussion