
エクセルの複数ブックのシートを1つまとめたい
都道府県ごとに47ブックがあり、そのシートのデータを1つのブックの1シートにまとめたいのですが、どのようにすればよいかご教示いただけますでしょうか。
各ブック内には1シートのみ同じフォーマットで名簿があります。
またシート名とブック名はそれぞれ同じになります。
例
ブック名:埼玉県.xlsx
シート名:埼玉県
ブック名:神奈川県.xlsx
シート名:神奈川県
シートの内容は
1列目に見出しがあり、2列目から実際の情報になります。
A列からH列で行数は各ブックごとに異なります。
またシート情報を統合する際に1行目の見出しも統合されると47都道府県ごとに見出しが含まれてしまうので、最初のブックのみ1行目からで以降は2行目から統合させることは可能でしょうか。
No.5ベストアンサー
- 回答日時:
以下のマクロを標準モジュールに登録してください。
Const folder As String = "D:\goo\data8\点検"
は、都道府県のブックが格納してあるフォルダ名です。
あなたの環境にあわせて適切に設定してください。
まとめるシート名は「都道府県まとめ」にしてあります。
もし、シート名を変える場合は、
Set ms = Worksheets("都道府県まとめ")
を変えてください。
各都道府県のブックには1シートのみ存在する前提です。
-------------------------------------------------------------
Option Explicit
Public Sub 都道府県まとめ()
Const folder As String = "D:\goo\data8\点検"
Dim ms As Worksheet
Dim ws As Worksheet
Dim fname As String
Dim wb As Workbook
Dim msRow As Long: msRow = 1
Dim maxrow As Long
Set ms = Worksheets("都道府県まとめ")
ms.Cells.ClearContents
fname = Dir(folder & "\*.xlsx")
Do While fname <> ""
Set wb = Workbooks.Open(folder & "\" & fname)
Set ws = wb.Worksheets(1)
maxrow = ws.Cells(Rows.Count, 1).End(xlUp).Row
If maxrow > 1 Then
If msRow = 1 Then
ms.Range("A1:H1").Value = ws.Range("A1:H1").Value
msRow = 2
End If
ms.Cells(msRow, 1).Resize(maxrow - 1, 8).Value = ws.Cells(2, 1).Resize(maxrow - 1, 8).Value
msRow = msRow + maxrow - 1
End If
wb.Close
fname = Dir()
Loop
End Sub
No.2
- 回答日時:
こんにちは
各項目のデータが埋まっていると考えてよいのなら・・
1)対象ブックを開く
2)A2セルを選択し、Shift End → End ↓ キーを押し下げ
(2行目から最終行までの範囲が選択できるはず)
3)Ctrl + C でコピー
4)統合ブックで、Ctrl + V でペースト
要領よくやれば、以上で30秒くらいでしょうか。
のんびりやっても、1分でおつりがくると思います。
あれこれ考えている間に、これを47ブック分繰り返すのが速いと思います。
No.1
- 回答日時:
1ブック1シートであれば、
コマンドで、*.xlsを*.csvに一括で変換し、
同じくコマンドで、一つの*.csvに結合し、
それをEXCELで読み込めばよいです。
見出しも47行含まれてしまいますが、
並べ替えでまとめて、或いはフイルターで選択表示させて、
不要分を一括削除すればよいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【教えて!goo ウォッチ 人気記事】風水師直伝!住まいに幸運を呼び込む三つのポイント
記事を読む>>
-
エクセル、日々の集計整理方法。(再送です。)
Excel(エクセル)
-
Countifよりも早く重複数をカウントする方法ありますか?
Excel(エクセル)
-
Excel教えてください。 下記のことが出来るのは、マクロですか?条件付き書式でしょうか、、?知恵を
Excel(エクセル)
-
4
【マクロ】3つのエクセルブックから1つエクセルブックにお客様番号をまとたい
Excel(エクセル)
-
5
何故割り算なのでしょうか?
Excel(エクセル)
-
6
Excel 値を返す数式についてです
Excel(エクセル)
-
7
合計額がゼロになってしまう
Excel(エクセル)
-
8
Excel で表を作りたいんです! 項目は日付 客先 製品ナンバー 投入数 不良内容 不良率なんです
Excel(エクセル)
-
9
VLOOKUP が機能しない、その原因は何 ?
Excel(エクセル)
-
10
該当日が期間内に当てはまる場合、開始日と終了日をExcel関数を用いて入力させたい
Excel(エクセル)
-
11
文書を作るのに会社の人は皆Excelを使っています。 Excelではセルが邪魔だと思うのですが、スム
Excel(エクセル)
-
12
【EXCEL】=セル&セルが上手く表示できない。
Excel(エクセル)
-
13
Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい
Excel(エクセル)
-
14
初めての質問。
Excel(エクセル)
-
15
一つのセルに複数の関数を入力する方法
Excel(エクセル)
-
16
エクセルで期間に入っているかどうかの判定
Excel(エクセル)
-
17
エクセルで列の行の重複の検索方法を教えてください。
Excel(エクセル)
-
18
マクロか関数で処理したいのですが、教えて頂けませんか。
Excel(エクセル)
-
19
10円の誤差が分からない
Excel(エクセル)
-
20
Excelで日数の関数がうまく出せません。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
エクセルで参照しているデータ...
-
5
Excelでブックの共有を掛けると...
-
6
エクセル2016です。「ブッ...
-
7
エクセルで「ディスクがいっぱ...
-
8
エクセルで開いていないbookの...
-
9
エクセルで別ブックをバックグ...
-
10
Excel(2010)のフィルターが保...
-
11
エクセルでSheetの数は最大限ど...
-
12
エクセルファイルを開かずにpdf...
-
13
複数ファイルから特定シートの...
-
14
WorkBooksをオープンさせずにシ...
-
15
フォルダ内の複数ファイルから...
-
16
同じフォルダへのハイパーリン...
-
17
エクセルシートの一部を送りたい
-
18
エクセル 複数のブックを一度...
-
19
エクセルで50行ごとに区切った...
-
20
Excelで複数ブックの同一セルに...
おすすめ情報
公式facebook
公式twitter
皆さん、ご回答ありがとうございます。
いただいた各回答に補足です。
各都道府県のブックは1つのフォルダに格納されてます。
また、ブック以外のファイルはなにもございません。
また、47対象なので、今回は手動で完了させましたが、以後も同様の処理をしなくて済むようにという背景がございます。
batファイル作成してcsvを統合させると文字化けしてしまい望んだ結果になりませんでした。
試したコマンドは下記です。
copy *.csv _result.csv