MENU

項目ごとの合計を、表の横に表示する

VBAマクロを、簡単に作成してみませんか?

例として、アプリで「項目ごとの合計を、表の横に表示する」VBAマクロを作成します。

処理のイメージ

事例

伝票番号ごとの合計額を表の横に表示するマクロを、アプリで作成します。

 

A列の伝票番号ごとに、E列の合計額を、F列に表示します。

マクロを実行すると、合計が表示されます。

アプリの設定

アプリの設定です。

トップページ ⇒▼合計表示 ⇒【ツール】項目ごとの合計を、表の横に表示する

※ 合計する列と、表示する列は、数字(C列は3)で指定します。

※ 表示する場所は、項目の下端すべても選択できます。

下端

すべて

表示されるVBAコード 

アプリで作成されたコードを、VBE画面に貼り付ければ、マクロの完成です。

Sub デモ_3() '項目ごとの合計を、表の横に表示する
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False  ' 警告表示を停止
Dim セル範囲 As String, セル As Range, 右下セル As String
Sheets("sheet1").Select
セル範囲 = "a2:a13"
Range(セル範囲).Select
Call デモ_3_メイン処理(セル範囲)
Application.DisplayAlerts = True   ' 警告表示を再開
Application.ScreenUpdating = True  ' 画面描画を再開
End Sub
 
Sub デモ_3_メイン処理(セル範囲 As String)
Dim 対象行 As Long, 上行 As Long, 下行 As Long, 項目列 As Long, 合計 As Variant
上行 = Selection(1).Row
下行 = Selection(Selection.Count).Row
項目列 = Selection(1).Column
合計 = Cells(下行, 5).Value
For 対象行 = 下行 To 上行 Step -1
    If Cells(対象行, 項目列).Value <> Cells(対象行 - 1, 項目列).Value Then
        Cells(対象行, 6).Value = 合計
        合計 = Cells(対象行 - 1, 5).Value
    Else
        合計 = 合計 + Cells(対象行 - 1, 5)
    End If
Next 対象行
Dim セル As Range
For Each セル In Range(Cells(上行, 6), Cells(下行, 6)).Cells
    If セル.Value = "" Then
        セル.Value = セル.Offset(-1, 0).Value
    End If
Next セル
Application.CutCopyMode = False
End Sub

マクロを使うメリット

手作業で数分かかる作業が、1秒で終わります。

ぜひ、アプリをご利用ください。

 

アプリはこちらから↓↓↓↓