雑記

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

© UsaNekoSanpo

合計(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
   
ExcelVBA逆引き大全 600の極意 Office365/2019/2016/2013/2010対応

ExcelVBAを仕事で使う際、「あれって、どうやるんだったっけ?」と困った時にサッと使うための逆引きテクニック集です。「コピペ使用に耐えうるサンプル」「スクショ画像を交えての丁寧な説明」「構文についてだけの情報もセットになっている」「関連するテクニックについての情報もすぐに引ける」という4つの条件を満たした情報をネットで探すのは非常に困難。デスクの片隅に常備したい1冊です。

できる大事典 Excel VBA 2019/2016/2013&Microsoft 365(サンプルファイル・無料電子版付)

VBAを使ってコードを記述するには、プログラミングの知識や基本構文の理解などが必要です。しかし、基本的な概念や仕組みだけを覚えても、VBAを使って柔軟にプログラムを記述するのはなかなか難しいもの。自分の思い通りにプログラムを記述するには、使用したい機能の構文や、構文を記述する際の設定項目なども知ることが必要です。
992ページという大ボリュームに、Excel VBAを使ったあらゆる操作を凝縮しました。この1冊をお持ちいただければどんな場面でもすぐに役立つはず。クラスモジュールを利用したプログラムの作成方法や、Webスクレイピングを実行するVBAの記述方法など、高度な内容も解説しているため、一歩先を進んだ応用的な操作をしてみたい中級者の方にもおすすめの1冊です。

タイトルとURLをコピーしました