
「毎日の集計作業、もっとラクにできないかな…」そんなお悩み、Excelマクロで一発解決できます!
本記事では、コードごと(担当者、得意先、商品など)ごとに日別集計を行い、さらに自動で折れ線グラフも作成してくれるExcel VBAマクロをご紹介します。
初心者でも安心して使える「フォーム付き」の設計で、集計・グラフ作成・保存まで全自動。
「Excelマクロって難しそう」と感じていたあなたにこそ、試してほしい内容です!
ぜひご自身の作業に合わせて使ってみてください。
目次
コード別の日別集計&折れ線グラフをExcel VBAで自動作成するマクロとは|概要と活用シーン
Excelシートに同じ表形式のデータが大量にあるとき、「コードごとに別のシートに分けて、集計表とグラフを作成して保存したい…」ということはありませんか?
・毎日の売上や作業データを「コードごと(担当者、得意先、商品など)」に「日別で」集計したい
・見やすい「折れ線グラフ」も自動で作って、上司にすぐ報告したい
・手作業での集計やグラフ作成に時間を取られたくない!
そんなあなたにピッタリなのが、この「コードごとに自動でシートを分けて集計とグラフを自動作成するマクロ」です。
ファイルを選んで集計ボタンを押すだけで、自動で集計+折れ線グラフも作成。
Excel初心者の方でも安心して使えます。
VBAマクロで実現できるコード別日別集計・グラフ自動化の機能一覧
1枚のシートにまとめられたデータから、指定したコード列、日付列、金額列をもとに、コードごと日付、金額で集計し、コードごとにシートを分けて転記。そして、転記した内容をもとに折れ線グラフを作成
手作業不要!「マクロ実行」だけですぐに完成します。
コード別日別集計&グラフ作成マクロの使い方|3ステップで実行可能
1. 元データをExcelに準備する。
2. マクロを起動(フォームから対象のExcelとコード列を指定)
3. 各コードごとのシートが自動で作成されます。
もう、手作業でフィルタしてコピー&ペーストした後、集計する必要はありません。
マクロ作成時に押さえるべき3つの重要ポイント
「ThisWorkbook」→ 起動時にフォーム表示
「UserForm」→ フォームの見た目と操作
「標準モジュール」→ 実際の分割処理
コード列を統一しておく(たとえば、担当者コードはA列に統一する、日付列はB列、金額列はC列など)
マクロを実行する前に、対象のExcelファイルをバックアップする(別フォルダにコピーをとる)
コードのカスタマイズ頻出箇所と変更方法
| 変更箇所(追加) | 内容 | たとえば、このように変更 |
| グラフの種類を変更したい | 標準モジュール(Module1) | .ChartType = xlLine を別の種類に変更(例:xlColumnで棒グラフ) |
| グラフの位置を変えたい | Set chartObj = ws.ChartObjects.Add(Left:=300, Top:=10, Width:=500, Height:=300) | .Left や .Top の数値を調整 |
| グラフにタイトルをつけたい | .HasTitle = Trueのあとに | .ChartTitle.Text = "タイトル名" |
【検証済】マクロの使い方|保存・実行・動作チェックの手順
以下手順で、シートごとにコード別日別集計&折線グラフ作成するマクロは完成します。
フォームはコードがないので、ご自身で作成することになりますが、その他のコードは、【検証済】コードをコピペすればマクロができます。※フォーム作成方法も、下記で詳しく説明しますので、ご安心ください。
Excel起動からユーザーフォーム作成の操作
フォームのデザインで使うオブジェクト一覧
| オブジェクト名 | 種類 | キャプション |
| 変更しない | Label | 対象Excelファイル |
| txtFile | TextBox | 空白 |
| btnBrowse | CommandButton | ファイル選択 |
| 変更しない | Label | コード列(例:A) |
| txtCodeCol | TextBox | 空白 |
| 変更しない | Label | 日付列(例:A) |
| txtDateCol | TextBox | 空白 |
| 変更しない | Label | 金額列(例:A) |
| txtAmountCol | TextBox | 空白 |
| btnAggregate | CommandButton | 集計&グラフ |
| btnClose | CommandButton | 終了 |








対象Excelファイル


ファイル選択


コード列(例:A)から終了まで






txtFile

btnBrowse

txtCodeCol

txtDateCol

txtAmountCol

btnAggregate

btnClose

【検証済】コードをコピペ

