MENU

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

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

例として、アプリで「数字上の色ごとの合計を、表の横に表示する」VBAマクロを作成します。慣れると、1分でマクロが完成します。

処理のイメージ

事例

数字上の色ごとに、合計を表示します。

合計の数字を、上端や、全体に入れることもできます。

合計の数字の上に、同色を入れることもできます。

 

できました(^^)/

 

アプリの設定

アプリの設定です。

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

表示されるVBAコード 

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

Sub デモ_29() '数字上の色ごとの合計を、表の横に表示する
Application.ScreenUpdating = False ' 画面描画を停止
Application.DisplayAlerts = False  ' 警告表示を停止
Dim セル範囲 As String, セル As Range, 右下セル As String
Sheets("sheet1").Select
'◆最終行を取得し、セル範囲を決める
Range("a1:a1").CurrentRegion.Select
右下セル = Cells(Selection.Row + Selection.Rows.Count - 1, Range("a1").Column).Address(False, False)
セル範囲 = "a1" & ":" & 右下セル

 Range(セル範囲).Select
Call デモ_29_メイン処理(セル範囲)
Application.DisplayAlerts = True   ' 警告表示を再開
Application.ScreenUpdating = True  ' 画面描画を再開
End Sub
 
Sub デモ_29_メイン処理(セル範囲 As String)
Dim 対象行 As Long, 上行 As Long, 下行 As Long, 数字列 As Long, 合計 As Variant
上行 = Selection(1).Row
下行 = Selection(Selection.Count).Row
数字列 = Selection(1).Column
合計 = Cells(上行, 数字列).Value
For 対象行 = 上行 To 下行
    If Cells(対象行, 数字列).Interior.Color <> Cells(対象行 + 1, 数字列).Interior.Color Then
        Cells(対象行, 2).Value = 合計
        Cells(対象行, 2).Interior.Color = Cells(対象行, 数字列).Interior.Color
        合計 = Cells(対象行 + 1, 数字列).Value
    Else
        合計 = 合計 + Cells(対象行 + 1, 数字列)
    End If
Next 対象行
End Sub

マクロを使うメリット

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

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

 

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