フォルダ内にエクセルファイルが約3,000個あります。
この全てのBookに同じ処理をしたいのですが、マクロで繰り返す方法がわからないので教えて下さい。
処理をする内容は簡単なもので、マクロで作りました。
・ 各Bookには1つのシートしか存在せず、シート名は重要ではないので全て「Sheet1」になっています。
・ 各Bookのデータの配置や表形式は同じです。
・ レコードの行数がBookによって異なります。
処理の内容をマクロで作るところまではできましたが、知識がないためタイムアウトです。
ご教示宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
だいたいこんな流れで。
sub macro1()
dim myPath as string
dim myFile as string
mypath = "C:\test\"
’指定フォルダのブックを順繰り拾う
myfile = dir(mypath & "*.xls*")
do until myfile = ""
’ブックを開いて処理を行い保存して閉じる
workbooks.open mypath & myfile
activesheet.range("A1") = "DONE"
activeworkbook.close true
myfile = dir()
loop
end sub
必要に応じて
・画面の表示を抑制する
・再計算を手動にする
といった手管を追加して高速化を図ります。
ありがとうございました。
今、せっせと処理をしてくれています。
解説付きで教えて下さったので、とても勉強になり、理解することができました。
高速化のアドバイスもありがとうございます。
試してみたら本当に早くなりました!
ネットでいろいろ検索をしてみましたが、気ばかり焦って、思うような結果も得られず、こちらで相談したのですが、こんなにご丁寧に教えていただけて心から感謝しています。
本当にありがとうございました。
No.2
- 回答日時:
No.1 です、連続ですみません。
参考として次のページを追加します。3.5 ワークブックを閉じる http://www.happy2-island.com/excelsmile/smile03/ …
No.1
- 回答日時:
もしもその「workbook に施す同じ処理」というのが、開いている workbook に対して実行すべきものであるとすれば、Dir 関数で探して、開いて、データ処理などして、閉じて、を繰り返すなど。
Dir関数 http://officetanaka.net/excel/vba/function/Dir.htm
Dir関数でサブフォルダを取得する http://officetanaka.net/excel/vba/tips/tips95.htm
Dir関数の注意点 http://officetanaka.net/excel/vba/tips/tips69.htm
あまり知られていないDir関数の特徴 http://www.moug.net/tech/exvba/0100048.html
たくさんのヒントをありがとうございました。
ページを印刷したので、後程ちゃんと勉強させていただきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 2 2023/03/02 18:54
- Excel(エクセル) エクセルでファイル保存時に複数シートのオートフィルタを全て解除したい 1 2023/05/10 13:23
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Excel(エクセル) 【マクロ】同じフォルダ内にある複数ブックから1つのブック内の1シートにデータを集めたい 6 2022/09/28 18:16
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 6 2023/03/03 18:05
- Excel(エクセル) エクセルで保存時に全部のシートの最終行をコピーして数値で貼り付けたい 3 2023/08/14 15:49
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
エクセル 複数ファイルの一括セル入力
Excel(エクセル)
-
ExcelのVBAで同一フォルダ内にあるファイルに同じ処理をしたい
Excel(エクセル)
-
Excelで複数ブックの同一セルに同じ値を入力するにはどうすればよいですか?
Excel(エクセル)
-
-
4
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
5
同じ作業を複数のシートに実行させるにはどうしたらいいのでしょうか
Visual Basic(VBA)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
マクロを複数シートに実行するには?
Excel(エクセル)
-
8
エクセル 複数のブックを一度で編集する方法
Excel(エクセル)
-
9
フォルダ内の複数ファイルから特定のシートを一括削除
その他(Microsoft Office)
-
10
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
11
複数のexcelファイル 同一セルの値を一気に変更するには、
Excel(エクセル)
-
12
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
13
現在開いているbook全てを対象に処理したい
Visual Basic(VBA)
-
14
ブックを開かずに、フォルダ内にある複数ブックの、特定セルの値を抽出した
Excel(エクセル)
-
15
フォルダ内の全ブックのシート名を変更したいです。
Excel(エクセル)
-
16
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
17
エクセルVBA Ifでシート名が合致したら別ファイルから転記する場合のElse IfとForの書き方
Visual Basic(VBA)
-
18
フォルダ内のexcelファイルを順に開いて印刷して閉じるマクロを作りたいのでご教授お願いします。
Excel(エクセル)
-
19
【vba】該当するセルに別ブックのセル値の合計を反映する
Visual Basic(VBA)
-
20
複数のExcelファイルにある同名シートを1つのシートに一括でまとめるには?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAで今開いているユーザ...
-
【Excel VBA】ブックを複数開い...
-
フォルダ内の全ブックのシート...
-
エクセルVBA Workbook変数に変...
-
excelマクロ、任意セルの値で名...
-
EXCELマクロでxlsとxlsxを開く方法
-
VBA、Excelのworkbook.open に...
-
Excel マクロでファイル名を変...
-
personal.xlsの削除方法
-
エクセル2010で2003形式でマク...
-
[Excel VBA] フォルダ内の複数...
-
すでに開いているブックのマク...
-
エクセル終了時の保存確認メッ...
-
コピーしたファイルのマクロを...
-
複数のデータ系列の線の太さを...
-
エクセルマクロにてパワーポイ...
-
エクセルの単票を一覧表に
-
別のパソコンでエクセルのマク...
-
cellsで特定の離れた範囲を選択...
-
excelファイルに使われているVB...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォルダ内の全ブックのシート...
-
エクセルVBA Workbook変数に変...
-
ExcelVBAで今開いているユーザ...
-
VBA、Excelのworkbook.open に...
-
【ExcelVBA】指定の書式で、マ...
-
【Excel VBA】ブックを複数開い...
-
VB2010でExcelの行をコピーして...
-
すでに開いているブックのマク...
-
フォルダ内の全てのBookに同じ...
-
VBA セル入力された日付データ...
-
フォルダ内の全ブックのシート...
-
personal.xlsの削除方法
-
EXCELマクロでxlsとxlsxを開く方法
-
EXCELマクロで上書きメッ...
-
[Excel VBA] フォルダ内の複数...
-
EXCEL VBA起動時の処理
-
コマンドボタンでマクロを起動...
-
excelマクロ、任意セルの値で名...
-
【VBA】他のExcelを起動し、呼...
-
他のBookのユーザー定義関数を使う
おすすめ情報