同一フォルダ内にExcelファイルが400程あります。
この400程のファイルのsheet1からA2からE2をコピーして
ひとつのExcelsheetにその値をまとめたいです。
流れとしては以下になりますが、どのようなコードをマクロに書けば良いでしょうか?
Excelファイル1のsheet1、A2からE2をコピー
ExcelファイルAAA、のA1からE1に貼り付け
Excelファイル1閉じる
Excelファイル2を開く
Excelファイル2のsheet1、A2からE2をコピー
Excelファイルあああ、のA2からE2に貼り付け
Excelファイル2閉じる
Excel3を開く
.........同様の処理を同一フォルダ内の全てのxlsxに実行する
ファイルAAAは既存ファイルとして予め作成して別フォルダに置いてからマクロ実行しても良いですし
マクロ実行時に作成して同一フォルダに保存しても良いです。
お忙しいところ恐縮ですが、教えてくださいませ。
どうぞよろしくお願いします。
No.1ベストアンサー
- 回答日時:
Excel VBAを使用して、同一フォルダ内の複数のExcelファイルからデータをコピーして統合するマクロを作成できます。
以下は、その手順を示す基本的なコードです。vba
Copy code
Sub 統合マクロ()
Dim FolderPath As String
Dim Filename As String
Dim MasterWorkbook As Workbook
Dim CurrentWorkbook As Workbook
Dim wsMaster As Worksheet
Dim wsCurrent As Worksheet
Dim LastRow As Long
' マスターファイル(結合先)を開く
Set MasterWorkbook = Workbooks.Open("パス\ファイルAAA.xlsx")
Set wsMaster = MasterWorkbook.Sheets(1)
' 同一フォルダ内のExcelファイルを取得
FolderPath = "フォルダのパス" ' フォルダのパスを指定
Filename = Dir(FolderPath & "\*.xlsx")
' フォルダ内の各Excelファイルを処理
Do While Filename <> ""
' ファイルを開く
Set CurrentWorkbook = Workbooks.Open(FolderPath & "\" & Filename)
Set wsCurrent = CurrentWorkbook.Sheets(1)
' データをコピーしてマスターファイルに貼り付け
LastRow = wsMaster.Cells(wsMaster.Rows.Count, "A").End(xlUp).Row + 1
wsCurrent.Range("A2:E2").Copy wsMaster.Range("A" & LastRow)
' ファイルを保存して閉じる
CurrentWorkbook.Close SaveChanges:=False
' 次のファイルを取得
Filename = Dir
Loop
' マスターファイルを保存して閉じる
MasterWorkbook.Save
MasterWorkbook.Close SaveChanges:=False
' メッセージを表示
MsgBox "統合が完了しました。"
End Sub
このコードは、指定したフォルダ内の全ての.xlsxファイルを処理し、そのファイルのSheet1からA2からE2までのデータをマスターファイル(ファイルAAA)にコピーして統合します。ファイルAAAは事前に用意しておくか、マクロ内で作成することができます。ファイルAAAはマクロを実行するExcelファイルと同じフォルダに保存されます。
コード内のコメントを確認し、必要に応じてフォルダパスやファイル名を適切に設定してください。
No.2
- 回答日時:
ExcelのVBAを使用して、同一フォルダ内にあるExcelファイルに同じ処理をする方法を教えます。
以下のコードを使用することで、同一フォルダ内にあるすべてのExcelファイルに対して、sheet1からA2からE2までの範囲をコピーし、新しいExcelファイルに貼り付けることができます。
```vba
Sub CopyData()
Dim MyFolder As String
Dim MyFile As String
Dim wbk As Workbook
Dim ws As Worksheet
Dim DestRow As Long
'処理するフォルダのパスを指定
MyFolder = "C:\Users\user\Desktop\SampleFolder\"
'処理するフォルダ内のすべてのExcelファイルに対して処理を実行
MyFile = Dir(MyFolder & "*.xlsx")
Do While MyFile <> ""
Set wbk = Workbooks.Open(MyFolder & MyFile)
Set ws = wbk.Sheets("Sheet1")
DestRow = ThisWorkbook.Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row + 1
ws.Range("A2:E2").Copy Destination:=ThisWorkbook.Sheets("Sheet1").Range("A" & DestRow)
wbk.Close False
MyFile = Dir()
Loop
End Sub
```
上記コードでは、`MyFolder`変数に処理するフォルダのパスを指定します。その後、`MyFile`変数に`Dir()`関数を使用して、指定したフォルダ内のすべてのExcelファイル名を取得します。`Do While`ループを使用して、各Excelファイルを開き、`ws.Range("A2:E2").Copy`で範囲をコピーし、新しいExcelファイルに貼り付けます。最後に、元のExcelファイルを閉じます。
このコードを使用する前に、マクロが保存されているExcelファイルと同じフォルダ内に、空のExcelファイル「AAA.xlsx」を作成しておく必要があります。また、このコードは「Sheet1」シートからデータをコピーするように設定されています。必要に応じてシート名や範囲を変更してください。
以上が回答となります。ご参考になれば幸いです。
ソース: Bing との会話 2023/9/13
(1) フォルダ内のxlsxファイルに同一処理をするマクロ【ExcelVBA .... https://vba-create.jp/vba-folder-all-file-process/
(2) フォルダの中にある全てのExcelファイルに同じ処理をするマクロ .... https://officevba.info/fileikkatsushori/
(3) エクセルマクロVBAでフォルダ内のExcelファイル全てに処理をする .... https://www.fastclassinfo.com/entry/do_allexcelf …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA CSV取り込みについて 3 2021/12/30 22:40
- Visual Basic(VBA) VBAコード: マクロ有効ブック上のシート1にあるデータ範囲を、別のXLSのシートへ写す 2 2021/10/20 22:48
- Excel(エクセル) デスクトップ上に同じフォルダ名とファイル名で保存ができない 1 2021/11/06 11:27
- Access(アクセス) accessでexcelデータを一部変換してインポートするVBAコードを教えてください。 2 2021/12/14 08:31
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Visual Basic(VBA) Excel VBAの同名ファイルの保存時の置き換えについて 2 2021/12/21 22:39
- XML エクセルのマクロについて教えてください。 3 2023/02/06 09:06
- Visual Basic(VBA) 転記先VBA 一致しているセルがコピーされない 5 2021/11/15 17:23
- Visual Basic(VBA) EXCEL VBA シート比較し〇×判定 1 2021/11/19 11:49
- Windows 10 こんなDOSコマンドのbatファイルを作れないでしょうか? 3 2021/10/22 15:56
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
エクセルおいて,論理式の関数を使う場合は,空白のセルは,数字では0と扱われますか?
Excel(エクセル)
-
2つのシートを連動させたいです
Excel(エクセル)
-
-
4
「ChatGPT-3.5」の回答ですが
Excel(エクセル)
-
5
エクセルで リンクが切れない状態で文字を入れたい
Excel(エクセル)
-
6
こんにちは。Excelのデータ入力規則のことで教えてください。複数条件を指定したい場合の構文ですが、
Excel(エクセル)
-
7
ノートPCでExcelを一部見せない状態で外部モニターに出力したい
Excel(エクセル)
-
8
エクセル 複数条件について
Excel(エクセル)
-
9
エクセルの関数について
Excel(エクセル)
-
10
Excelで、改行がある場合の条件式(関数)の書き方を教えてください
Excel(エクセル)
-
11
数字をコンマで区切った文字列の集計のマクロの修正
Excel(エクセル)
-
12
手書き日報にエクセルのデータを重ねて印刷したい
Excel(エクセル)
-
13
エクセル→貼り付けのオプション→貼り付け先の書式に合わせる が急にできなくなった。 どうして?
Excel(エクセル)
-
14
エクセル 関数について
Excel(エクセル)
-
15
【マクロ】転記ツール。転記先にデータがある場合、上書きするか消すか質問をして欲しい
Excel(エクセル)
-
16
フォルダ内の全てのBookに同じ処理を繰り返す
Excel(エクセル)
-
17
Excelの使い方(関数)を教えてください。
Excel(エクセル)
-
18
vba G5のセルのエンターキーを押すと、I5 J5 L5 M5 N5 P5に進みG6に
Excel(エクセル)
-
19
Excelでスクロールすると文字が消える現象について
Excel(エクセル)
-
20
【マクロ】コピーでは、ブックまで指定するのとシートまで指定する違いは?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
iPhoneのファイル
-
jw CADのファイルが見つか...
-
同じフォルダに入っているファ...
-
iTunesで音楽ファイルが消える・・
-
PDFのページ数を調べたい
-
ExcelのVBAで同一フォルダ内に...
-
PDFファイルを開きたいので...
-
パソコンでフォルダという用語...
-
フォトショップで保存したファ...
-
beamer(TeX)の使い方がよくわ...
-
ai eps ファイルが開かない?
-
AS400 CPYSPLFコマンドの使い方
-
エクセル:一般的に何メガくら...
-
iCloud+のオファーを使用という...
-
SDカードの保存先のファイル名
-
新しいPCに旧PCのデータを移したい
-
ブログ復元について教えて下さい
-
i.softbank.jpのメールをパソコ...
-
NAS用HDDのデスクトップ用PCへ...
-
検索サーバーのHDDなど通常どれ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
iPhoneのファイル
-
jw CADのファイルが見つか...
-
iTunesで音楽ファイルが消える・・
-
PDFのページ数を調べたい
-
ExcelのVBAで同一フォルダ内に...
-
同じフォルダに入っているファ...
-
PDFファイルを開きたいので...
-
フォトショップで保存したファ...
-
パソコンでフォルダという用語...
-
JPG画像を開くとPCが固まるんで...
-
photoshop 複数の画像を一つの...
-
登録した単語が消えた!?
-
コピーペーストするとぼかし効...
-
AS400 CPYSPLFコマンドの使い方
-
EDIUS6に.m2tsファイルを取...
-
DVDを開くと、VIDEO_TS IFO と...
-
Illustratorの画像リンクエラー...
-
1つのフォルダには合計何バイト...
-
コピーしたVOBファイルをPCで再...
-
Illustrator->Photoshopのパス...
おすすめ情報