Excelで複数のシートを集計する方法その3です。
今回は、すべてのデータをマクロを使って1枚のシートに集計します。
すべてのデータを1枚のシートに
これまで、同じサンプルを使った事例で複数のシートを集計する方法を解説してきました。
サンプルでは、4月〜3月のデータの合計を1枚のシートに集めています。
Excel複数シート集計ー各シート最下部の合計値をINDIRECT関数・COUNTA関数で瞬時に集計する方法ー[サンプルあり] | EX-IT
Excel複数シート集計ーマクロを使う方法【サンプルあり】ー | EX-IT
今回は合計値だけではなく、すべてのデータを1枚のシートに集めるマクロを解説します。
複数のシートを1枚にするマクロの書き方
今回のマクロは次のとおりです。
ーーー貼り付け用ーーー
Sub shuukei_all() Dim Shuukei_cell Shuukei_cell = 2 Dim w As Worksheet For Each w In Worksheets If w.Name < > "集計" Then Dim Last_row Last_row = w.Range("d" & Rows.Count).End(xlUp).Row Shuukei_cell = Range("a" & Rows.Count).End(xlUp).Row w.Rows("2:" & Last_row).Copy Range("a" & Shuukei_cell + 1) End If Next End Sub
ーーーここまでーーー
ーーー解説用ーーー
Sub shuukei_all()
Shuukei_cell = 2・・・①
Dim w As Worksheet
For Each w In Worksheets・・・②
Last_row = w.Range(“d” & Rows.Count).End(xlUp).Row・・・④
Shuukei_cell = Range(“a” & Rows.Count).End(xlUp).Row・・・⑤
w.Rows(“2:” & Last_row).Copy Range(“a” & Shuukei_cell + 1)・・・⑥
End Sub
①シート「集計」の貼り付け位置の初期値を決めます。処理前は、シート「集計」が次のように2行目から貼り付けるようになっているので、初期値は「2」です。
これが「1」だと見出しの位置に貼り付けてしまいますし、指定しないと、初期値は0となりエラーが出ます。
「0行目」が存在しないからです。
②すべてのワークシートで処理を実行します。
③ただし、シート「集計」以外のシート(「4月」〜「3月」)でのみ実行するため、IFで条件を指定します。
④Last_row に各シートの最終行を入れていきます。
たとえば、シート「4月」なら37です。
すべてのデータを集計しますので、各シートのデータ数をカウントします。
(「各シート」は、変数wで指定)
⑤Shuukei_cell にシート「集計」の貼り付け位置を入れていきます。
①で指定したとおり初期値は「2」ですので、シート「4月」のデータは2行目に貼り付けられます。
それ以降は、シート「集計」の一番下に貼り付けることになりますので、データを数えて、そのデータ数+1の位置へ貼り付けていきます。
たとえば、シート「5月」を貼り付ける位置は次のように考えてください。
・シート「集計」にシート「4月」のデータを貼り付ける
・シート「集計」のデータ数は、「37」
→ Shuukei_cell = Range(“a” & Rows.Count).End(xlUp).Row
・37+1=38行目にシート「5月」のデータを貼り付ける
⑥各シートの2行目からLast_rowまでを貼り付けて、シート「集計」のA列のShuukei_cell+1行目に貼り付けます。
w.Rows(“2:” & Last_row).Copy Range(“a” & Shuukei_cell + 1)
+1としないと、4月の最終行に5月のデータを貼り付けてしまいます。
以上の処理をシートの数だけ繰り返して完了です。
4月から3月のデータが瞬時に集まります。
Excelでは、その後の選択肢が増えるようなしくみをつくる
前回、前々回のように合計値だけを集める方法でも十分な場合は多いでしょう。
しかし、合計した後に内容をチェックする場合、別の角度から集計する場合、会計ソフトへ各データを取り込む場合には、不便です。
今回の方法ではすべてのデータが1枚のシートに集まりますので、ピボットテーブルや関数で処理をしやすく、チェックもしやすいです。
シートをいちいち切り替えてチェックするのは大変ですからね。
Excelでは、どんな用途にも使えるように、その後の選択肢が増えるように集計、又はデータを準備しておくべきです。
サンプルはこちらです。
EX-ITサンプル 複数シート集計マクロ 全データ
昨日は午前中にタスク管理塾の開催、午後はラン仲間と30kmラン。
お台場をスタートして、葛西臨海公園、ディズニーランドまでの15kmを往復しました。
ゴール後は、大江戸温泉物語でお風呂に入り、居酒屋で打ち上げ。
このくらいテンション上がるコースじゃないと30kmはきついです^_^;
■著書
『税理士のためのプログラミング -ChatGPTで知識ゼロから始める本-』
『すべてをがんばりすぎなくてもいい!顧問先の満足度を高める税理士業務の見極め方』
ひとり税理士のギモンに答える128問128答
【インボイス対応版】ひとり社長の経理の基本
「繁忙期」でもやりたいことを諦めない! 税理士のための業務効率化マニュアル
ひとり税理士の自宅仕事術
リモート経理完全マニュアル――小さな会社にお金を残す87のノウハウ
ひとり税理士のセーフティネットとリスクマネジメント
税理士のためのRPA入門~一歩踏み出せば変えられる!業務効率化の方法~
やってはいけないExcel――「やってはいけない」がわかると「Excelの正解」がわかる
AI時代のひとり税理士
新版 そのまま使える 経理&会計のためのExcel入門
フリーランスとひとり社長のための 経理をエクセルでトコトン楽にする本
新版 ひとり社長の経理の基本
『ひとり税理士の仕事術』
『フリーランスのための一生仕事に困らない本』
【監修】十人十色の「ひとり税理士」という生き方