VBA再入門
複数ブックよりデータを集める

マクロが覚えられないという初心者向けに理屈抜きのやさしい解説
公開日:2015-10-30 最終更新日:2020-09-26

第22回.複数ブックよりデータを集める


他のブックを開いて指定シートの指定セル範囲のデータを取得する。
取得したデータを使って、目的の表を作り上げる。
これこそマクロVBAの真価が問われる処理でしょう。


これまでにやってきた内容が出来れば大丈夫です。
これまでの内容を上手く組み合わせるだけです。
ポイントになりそうな部分を、ちょっと復習しましょう。

第17回.セルにブック・シートを指定する

ここでは、以下のコードをやりました。

Excel マクロ VBA サンプルコード

長々と、ブック・シート名を書かずに、SetやWithを使いこなします。

第19回.ブックを開く・閉じる・保存する

ここでは、以下のコードをやりました。

ExcelマクロVBA サンプル コード

ExcelマクロVBA サンプル コード

Openしたブックを直接SetやWithに入れる事で、すっきりしたコードになります。

第21回.ファイル一覧を取得する

ここでは、以下のコードをやりました。。

エクセル マクロVBA サンプルコード

Dir関数を使いファイル一覧を取得します。

複数ブックよりデータを集めるVBA

今回は、これまでの組み合わせだけです。

マクロの書かれているExcelファイルのあるフォルダ内に、「データ」というフォルダがあり、
この中の全てのExcelファイルの1番目のシートにある(A1セルからの連続する)表範囲のデータを全て集めてきます。
マクロを書くブックには、
・データ ・・・ 1行目に見出しを入れておきます。
・一覧 ・・・ ファイルの一覧を入れます
この2つのシートを用意しておきます。


ExcelマクロVBA サンプル コード

各VBAコードは、今まで説明してきたものです。

j = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
これが少々?かもしれません。
最終行 + 1
つまり、最終行の1行下という事です。

テストデータを用意し、画像を見ながらマクロVBAを書いてみて下さい。
データの用意も、実際に書いてみることも、マクロを覚える上で大切な事なものです。
どんなデータを用意したら良いか、それは、どんなマクロかを理解することです。
そして、指を動かすことで、目と指の双方からの情報でより記憶に残ります。

1度と言わず、2度3度と書いてみましょう。
ステップイン(F8)で動きを確認しましょう。


この積み重ねでしか、マクロVBAを習得出来ません。
これ以外に、マクロVBAを習得する道はありません。



同じテーマ「マクロVBA再入門」の記事

第19回.ブックを開く・閉じる・保存する(Workbooks,Open,Close,Save,SaveAs)

・ブック(Excelファイル)のパス(場所)を特定する ・ブックを開く ・ブックを閉じる ・上書き保存 ・名前を付けて保存 ・保存形式(ファイルの種類)について ・ExcelマクロVBA入門の対応ページ
第20回.全てのシートに同じ事をする(For~Worksheets.Count)
・シートの指定方法 ・全シートの「印刷の向き」を「横」に設定します。 ・シート名に"横"と入っているシートだけ「印刷の向き」を「横」に設定します ・シート名に"削除"と入っていたらシートを削除する ・For Eachについて ・ExcelマクロVBA入門の対応ページ
第21回.ファイル一覧を取得する(Do~LoopとDir関数)
・Dir関数 ・Dir関数の使い方 ・ファイルの一覧を取得するマクロVBAコード ・Do~Loopステートメント ・ExcelマクロVBA入門等の対応ページ
第22回.複数ブックよりデータを集める
第23回.複数のプロシージャーを連続で動かす(Callステートメント)
・長い1つのプロシージャーを分割する ・プロシージャーを呼び出すCallステートメント ・ExcelマクロVBA入門等の対応ページ
第24回.マクロの呪文を追加してボタンに登録(ScreenUpdating)
・マクロの呪文「Application.ScreenUpdating」を追加 ・ボタンの追加とマクロの登録 ・ExcelマクロVBA入門等の対応ページ
第25回.月別ブックより部署別シートに担当別に集計するNo1
マクロ再入門と題しての連載もいよいよ大詰めです、これまでの総復習として、以下のような処理のマクロを書いてみましょう。■処理概要 月別のデータファイル(ExcelファイルまたはCSV)を読込み、※項目は、日付,部署,担当者,売上数,売上金額 これを、新規ブックを作り、部署別のシートに、担当者・年月ごとの集計値を出力す…
第26回.月別ブックより部署別シートに担当別に集計するNo2
マクロ再入門の課題として、月別ブックより部署別シートに担当別に集計する、これを実現する実際のマクロを順に見ていきます。全体の処理手順は以下になります。■処理手順 ・ファイル一覧 シート「ファイル一覧」に、サブフォルダ「月別データ」内の全Excelファイルの一覧を取得 ・データ収集 シート「データ」に、
第27回.月別ブックより部署別シートに担当別に集計するNo3
マクロ再入門の課題として、月別ブックより部署別シートに担当別に集計する、最も頭を悩ます、部署別のデータに集計します、少々複雑な処理になります。全体の処理手順は以下になります。■処理手順 ・ファイル一覧 シート「ファイル一覧」に、サブフォルダ「月別データ」内の全Excelファイルの一覧を取得 ・データ収集 シート「デ…
第28回.月別ブックより部署別シートに担当別に集計するNo4
マクロ再入門の課題として、月別ブックより部署別シートに担当別に集計する、部署別のデータに集計する、最も頭を悩ます、少々複雑な処理になります。全体の処理手順は以下になります。■処理手順 ・ファイル一覧 シート「ファイル一覧」に、サブフォルダ「月別データ」内の全Excelファイルの一覧を取得 ・データ収集 シート「デー…
第29回.月別ブックより部署別シートに担当別に集計するNo5
マクロ再入門の課題として、月別ブックより部署別シートに担当別に集計する、総仕上げとして、複数のマクロを連続実行させるようにして、シートにボタンを追加して完成させます。全体の作業手順は以下になります。・連続実行させるマクロを作成 ・ボタンを追加しマクロを登録する ■連続実行させるマクロを作成 Callプロシージャ名 …


新着記事NEW ・・・新着記事一覧を見る

ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)
VBAでクリップボードへ文字列を送信・取得する3つの方法|VBA技術解説(2023-12-07)
難しい数式とは何か?|エクセル雑感(2023-12-07)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.並べ替え(Sort)|VBA入門
8.条件分岐(IF)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ