Excel

【Excel】VBAマクロで足し算を繰り返し実行(ループで最終行まで、合計)する方法【Range, Cells, For Each, WorksheetFunction】

当サイトでは記事内に広告を含みます。

この記事では、ExcelのVBAマクロを使用して足し算を繰り返し実行する方法について解説していきます。

ポイントとしては`Range`, `Cells`, `For Each`, `WorksheetFunction.Sum`を使用することです。

なお、マクロ初心者でもわかりやすいように変数名をaaaaa変数aaaaaといった名称にしています。そのため、あなた自身がご活用の際には、ここを適切な(英語表記でしっくりくるものが一般的)ものに変更してご活用くださいね。

それでは詳しく見ていきましょう!

 

VBAマクロでok列とokok列の足し算を繰り返し行いkekka列に結果を表示して別名保存する方法(2行目から最終行までループ)

それではまず、ok列とokok列の足し算を繰り返し行いkekka列に結果を表示して別名保存する方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub SumAndSaveAs()
    Dim aaaaaWsaaaaa As Worksheet
    Set aaaaaWsaaaaa = ThisWorkbook.Sheets("Sheet1")
    Dim aaaaaLastRowaaaaa As Long
    aaaaaLastRowaaaaa = aaaaaWsaaaaa.Cells(aaaaaWsaaaaa.Rows.Count, "ok").End(xlUp).Row

    Dim aaaaaIaaaaa As Long
    For aaaaaIaaaaa = 2 To aaaaaLastRowaaaaa
        aaaaaWsaaaaa.Cells(aaaaaIaaaaa, "kekka").Value = aaaaaWsaaaaa.Cells(aaaaaIaaaaa, "ok").Value + aaaaaWsaaaaa.Cells(aaaaaIaaaaa, "okok").Value
    Next aaaaaIaaaaa

    Dim aaaaaPathaaaaa As String
    aaaaaPathaaaaa = Application.GetSaveAsFilename("Result.xlsx")
    If aaaaaPathaaaaa <> "False" Then
        ThisWorkbook.SaveAs Filename:=aaaaaPathaaaaa
    End If
End Sub

コードのAlt+F8を押し、マクロ選択画面でSumAndSaveAs関数を実行します。

このマクロは、指定されたシートの2行目から最終行までのok列とokok列の値を足し合わせ、その結果をkekka列に出力し、ユーザーが指定した名前でブックを保存します。

【使用関数、Sum, SaveAs】

 

VBAマクロでa列から最終列まで足し算を列ごとに繰り返しループを行い、最終行の次に合計結果を表示して別名保存する方法

続いては、a列から最終列まで足し算を列ごとに繰り返しループを行い、最終行の次に合計結果を表示して別名保存する方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub SumColumnsAndSaveAs()
    Dim aaaaaWsaaaaa As Worksheet
    Set aaaaaWsaaaaa = ThisWorkbook.Sheets("Sheet1")
    Dim aaaaaLastColumnaaaaa As Long, aaaaaLastRowaaaaa

 As Long
    aaaaaLastColumnaaaaa = aaaaaWsaaaaa.Cells(1, aaaaaWsaaaaa.Columns.Count).End(xlToLeft).Column
    aaaaaLastRowaaaaa = aaaaaWsaaaaa.Cells(aaaaaWsaaaaa.Rows.Count, 1).End(xlUp).Row + 1
    
    Dim aaaaaIaaaaa As Long
    For aaaaaIaaaaa = 1 To aaaaaLastColumnaaaaa
        aaaaaWsaaaaa.Cells(aaaaaLastRowaaaaa, aaaaaIaaaaa).Value = Application.WorksheetFunction.Sum(aaaaaWsaaaaa.Range(aaaaaWsaaaaa.Cells(1, aaaaaIaaaaa), aaaaaWsaaaaa.Cells(aaaaaLastRowaaaaa - 1, aaaaaIaaaaa)))
    Next aaaaaIaaaaa

    Dim aaaaaPathaaaaa As String
    aaaaaPathaaaaa = Application.GetSaveAsFilename("TotalResult.xlsx")
    If aaaaaPathaaaaa <> "False" Then
        ThisWorkbook.SaveAs Filename:=aaaaaPathaaaaa
    End If
End Sub

コードのAlt+F8を押し、マクロ選択画面でSumColumnsAndSaveAs関数を実行します。

このコードは、シートのa列から最終列までの各列について、1行目から最終行の1つ上までの合計を計算し、その結果を最終行に表示します。

【WorksheetFunction.Sum, SaveAs】

 

まとめ VBAで足し算のループ(繰り返し)を行う方法(合計)

以上で、ExcelのVBAを使用した足し算の自動化とその結果の保存方法について解説しました。

マクロをマスターしてさらに快適に過ごしていきましょう。