あるフォルダ配下に複数のエクセルがあります。
これを以下のように1つのシートに統合したいのです。
条件
科目名(A科目 B科目 C科目)のタイトル部分は不要
フォルダ配下にあるすべてのエクセルファイルを統合したい。
(ファイル数はいくつあるかは毎回異なるので、直接ファイルを指定する方法はできない。フォルダ指定したい。)
<1.xls>
A科目 B科目 C科目
390,200 426,200 801,600
<2.xls>
A科目 B科目 C科目
140,500 333,200 1,400
↓
<統合.csv>
390,200 426,200 801,600
140,500 333,200 1,400
以上よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
非常に大雑把な質問なのでこちらで勝手に以下の前提として回答します。
フォルダー内の集計される各ファイルのシート数は不定。
各シートのABC列2行目以降にデータが配置されている。
各シートのデータ行数は不定。但し、ABC各列の行数は同一とする。
このマクロを記述するエクセルは、同じフォルダー内にある別BOOKとする。
このマクロを記述するエクセルの集計するシート名はSheet1とし、ABC列に集計する。
集計後に作成される「集計.CSV」ファイルの格納先は自分でダイアログから指定する。
Sub Test()
Dim fn, wb, x, i, n, sh, myPath
myPath = ThisWorkbook.Path & "\"
fn = Dir(myPath & "*.xls") '選択したフォルダ内のExcelファイルを検索します
Do Until fn = "" '全て検索し終えると、fn = Empty となるので、その間以下を実行します
If fn <> ThisWorkbook.Name Then 'ファイルが自分以外なら
Set wb = Workbooks.Open(myPath & fn) '選択したファイルを開きます
For Each sh In wb.Worksheets '各シートごとに
x = sh.Cells(Rows.Count, 1).End(xlUp).Row '最終行取得
For i = 2 To x '2行目から最終行まで以下を実行します
n = n + 1
With ThisWorkbook.Sheets("Sheet1") '転記
.Cells(n, 1) = sh.Cells(i, "A")
.Cells(n, 2) = sh.Cells(i, "B")
.Cells(n, 3) = sh.Cells(i, "C")
End With
Next i
Next sh
wb.Close (False) '選択したファイルを閉じる
End If
fn = Dir() '次のファイルを検索
Set wb = Nothing
Loop '繰り返し
ThisWorkbook.Sheets("Sheet1").Copy
Application.Dialogs(xlDialogSaveAs).Show Arg1:="統合.csv", Arg2:=6
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Excel(エクセル) フォルダ内の複数ブックを同シート名毎に連結させたい 1 2022/04/07 21:24
- Excel(エクセル) 【VBA】フォルダAにある2つのファイルの内1つを、フォルダBへ。もう1つを、フォルダBへ移動したい 6 2022/07/26 08:51
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- Excel(エクセル) フォルダAから1つのファイルだけを、フォルダBへを移動するVBAについて 2 2022/07/25 11:45
- Excel(エクセル) vba アクティブシートのA1セルの値を基準に複数のシートコピー&シート名を 6 2023/04/12 18:36
- Excel(エクセル) Excelの複数ファイルの複数行を別ファイル1つのシートにVBA、マクロで集約する方法 5 2022/09/13 06:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
excelに貼り付けた数値が勝手に...
-
VBAで複数エクセルシート内のセ...
-
エクセルからスキャナVBAで連動...
-
PDF ファイルが開けません。
-
エクセルを選択して開き印刷す...
-
Excelでリンクを使用すると#N/A...
-
EXCELのマクロを使って、テキス...
-
Teraマクロで日付ディレクトリ...
-
=CELL("filename")で取得したフ...
-
【マクロ】2回実行したら、エ...
-
ローマ字→カタカナへ変換(エク...
-
マクロ 実行ボタンを押さずに...
-
EXCELのセルへ、デジタル時計を...
-
Excelを開いた時に表示さ...
-
Excel VBA のdebug(F8キー) が...
-
エラーになってないのにVBA...
-
Wordで「原稿用紙○枚」を換算す...
-
複数ファイルにある特定のシー...
-
コマンドボタンで「終了ボタン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
excelに貼り付けた数値が勝手に...
-
EXCELのVBAで画像を選んだ順に...
-
Teraマクロで日付ディレクトリ...
-
エディタで効率的な切り出し方法
-
excel INDIRECT 他ファイル参照
-
VLOOKUP関数とネットワークに置...
-
エクセル 一括リンクの解除
-
エクセルからスキャナVBAで連動...
-
ハイパーリンクで前回値をひき...
-
ファイルを並び替えるときの「...
-
EXCELで複数のファイルから抽出
-
EXCEL VBA ー 同一フォルダ内の...
-
EXCELファイルが開けない(-_-;)
-
CSVで文字化けしてしまうのを直...
-
Excel VBAで自動的にハイパーリ...
-
PDF ファイルが開けません。
-
エクセルファイルから指定した...
-
EXCELのマクロを使って、テキス...
-
ファイルが無いときにエラーメ...
おすすめ情報