※当サイトの一部記事には広告を含みます。
うさねこ気まぐれPG開発室

Excel VBA 合計(Sum)をプログラムで作成して複数範囲セルに自動設定

合計(Sum)を範囲セルに設定

うさこちゃん
うさこちゃん

最初から、SUMの範囲が決定しておらずプログラムでSUM関数を設定したい場合になどに使用できます。
サンプルではB列にC~JのSUMを作成し設定しています。

サンプルコード

    Dim ObjThisSh  As Object
    Dim LngRowMax  As Long
    Dim StrSumMake As String
    Dim LngSUM列   As Long
    Dim LngSumカラム開始 As Long
    Dim LngSumカラム終了 As Long
    Dim LngRow開始 As Long
    Set ObjThisSh = ThisWorkbook.Sheets("Sheet1")

    
    LngSUM列 = 2
    LngSumカラム開始 = 3
    LngSumカラム終了 = 10
    LngRow開始 = 2
    
    With ObjThisSh
        '最終行の取得
        LngRowMax = .Cells(Rows.Count, 1).End(xlUp).Row
        'SUMの作成
        StrSumMake = "=SUM(" & .Cells(LngRow開始, LngSumカラム開始).Address(False, False) & ":" & _
                                            .Cells(LngRow開始, LngSumカラム終了).Address(False, False) & ")"
        .Range(.Cells(LngRow開始, LngSUM列), .Cells(LngRow開始, LngSUM列)).Formula = StrSumMake
        '全部の行にSUMをコピー
        .Range(.Cells(LngRow開始, LngSUM列), .Cells(LngRow開始, LngSUM列)).AutoFill _
                    Destination:=.Range(.Cells(LngRow開始, LngSUM列), .Cells(LngRowMax, LngSUM列)), Type:=xlFillCopy
    End With
    

免責事項

本記事のサンプルプログラムは動作・結果を保証するものではありません。 利用により発生したいかなるトラブル・損害についても、当方は責任を負いません。