Excel・CSV VBA

複数のシートをコピーして1つのシートに縦にまとめるエクセルVBA

投稿日:2019年5月19日 更新日:

ブックにある複数のシートを1つのシートに縦にまとめるエクセルVBAをご紹介します。

次のサンプルコードを使うと、

  • 「ファイルを開く」ダイアログを表示。
  • シートをまとめたいエクセルブックを選択。
  • 選択したエクセルブックに、集約用シートを追加。
  • エクセルブックに含まれる全シートをコピー、集約用シートにまとめる。

という作業を自動化します。

処理イメージ

エクセルブック内にある複数シートをコピー、集約シートを追加して縦に貼り付けてまとめます。

操作方法

1、
下記サンプルコードを含むエクセルファイルを開き→「開発」→「マクロ」の順でクリック。
「Aシート縦に集約」→「実行」の順でクリック。

 

2、
ファイルを開くダイアログが表示されるので、シートをまとめたい対象のエクセルブックをクリックして、「開く」をクリック

 

3、
マクロが実行されます。
「集約シート」を追加、各シートをコピーして、
「集約シート」に各シートのデータを縦向きに貼り付けます。

 

完了です。

サンプルコード

コードの特徴

  • 「ファイルを開く」ダイアログを表示した後、キャンセルをクリックした場合、
    キャンセル処理される様に対応しています。
  • セル、行、列に空白がある場合でも、
    シート毎のデータが含まれる最終行からA行までをコピーして集約します。
  • 集約用にシート「集約シート」を作成します。
    同名シートが既にある場合、同名シートを削除するかの確認ダイアログを表示させ、
    削除するかどうかを選択可能です。

スポンサーリンク

pr001




pr001




-Excel・CSV, VBA

執筆者:

スポンサーリンク

スポンサーリンク

PR005


ハント

VBA、GoogleAppsScript、思考法など、
業務効率化に繋がる情報を投稿中です。

普段は某IT企業に勤務しています。
Twitter @skillhunter007

好きなもの:アイアンマン、

ほしいもの:フライデー
(アイアンマンに登場するAI)、
盗賊の極意(スキルハンター)、