当ページのリンクには一部広告が含まれています。
うさねこ気まぐれ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
    

免責事項

本記事のサンプルプログラムは実行を保証するものではなく、利用に伴う結果について一切の責任を負いません。


広告