【エクセルマクロ】項目ごとに月別集計して表に出力:自動化

ExcelVBA

エクセルマクロで、項目ごとに月別集計して表に転記するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひお試しください!

項目ごとに月別集計して表に出力

以下のExcelVBAを実行すると、項目ごとに月別集計して表に出力します。


Sub 項目ごとに月別集計して表に出力()

Dim LastRow As Long
Dim i As Long
Dim j As Long
Dim Q As Long
Dim Target As String
Dim MyMonth As String

    Application.ScreenUpdating = False

    'A列の最終行を取得
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    
    'E列 2~4行目までループ
    For i = 2 To 4
     
        'E列 商品名を変数代入
        Target = Cells(i, 5).Value
     
        'A列 2~最終行までループ
        For j = 2 To LastRow
        
            'A列の値とTargetが一致したら
            If Cells(j, 1) = Target Then
            
                'B列から「月」を取得して変数代入
                MyMonth = Month(Cells(j, 2))
                
                'F列~I列までループ
                For Q = 6 To 9
                
                    '1行目の「月」とMyMonthが一致したら
                    If Month(Cells(1, Q)) = MyMonth Then
                    
                        '表に売上金額を転記
                        Cells(i, Q) = Cells(i, Q) + Cells(j, 3)
                        Exit For
                    End If
                Next Q
            End If
        Next j
    Next i

    Application.ScreenUpdating = True

End Sub

マクロ実行前

A~C列:集計の表

E~I列:集計の表


 

B列の日付の表示形式は「yyyy/m/d」です。


 

[セルF1:I1] の日付の表示形式は「yyyy/m」です。


 

マクロ実行後

商品ごとに売り上げ金額を集計して、月別の表へ転記します。


 
 
この記事がお役に立ちますと幸いです。
 
・【エクセルマクロ】日付処理を自動化する使用例まとめ
 

【エクセルマクロ】日付処理を自動化する:使用例17選
エクセルマクロで、日付処理を自動化するVBAコードをご紹介します。どのマクロコードも、コピペで使用できます。ぜひお試しください!

 

[最速入門] ChatGPTに任せる Excelマクロ&VBA 面倒なプログラミングは秒で片づけよう

ChatGPTと対話しながら身につける、新しいVBA入門

Excelマクロ・VBAをAIと一緒にラクに習得したいなら、まず読んでおきたい一冊です!


★★★★★ 4.6 ※ Amazonカスタマーレビューより
マクロ記録とChatGPTを組み合わせた学習法が実践的で、すぐ現場で使える
「過不足のない指示」の出し方を学べ、AIとの対話スキルが身につく
変数・条件分岐・ループなどVBAの基礎もしっかり解説されている