いつもVBAが書ける人を、凄いなぁと関心しています。またどなたか助けて頂きたいのですが、先日こちらも「教えてgoo」に掲載されていたマクロで、複数ブックのシートを一つのブックに集約する方法を学びました。今度はその集約されたシートを、各ブックへ戻すマクロを教えて頂きたいと思います。
集約するマクロは下記の内容でした。
Sub test()
Dim Fname As String
Dim Wbm As Workbook
Dim Wbs As Workbook
Application.ScreenUpdating = False
Set Wbs = ThisWorkbook
Fname = Dir(ThisWorkbook.Path & "\*.xls*")
Do While Fname <> ""
If Fname <> ThisWorkbook.Name Then
Workbooks.Open ThisWorkbook.Path & "\" & Fname
Set Wbm = ActiveWorkbook
Wbm.Worksheets("sheet1").Copy after:=Wbs.Worksheets(Wbs.Worksheets.Count)
ActiveSheet.Name = Left(Fname, InStr(Fname, ".") - 1)
Wbm.Close
End If
Fname = Dir()
Loop
Application.ScreenUpdating = True
End Sub
よろしくお願いいたします
No.1
- 回答日時:
Public Sub SplitBookBySheets()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim wb As Workbook
Set wb = ThisWorkbook
Dim saveDirectory As String
saveDirectory = wb.Path
Dim ws As Worksheet
For Each ws In wb.Sheets
Dim fileName As String
fileName = ws.Name & ".xls"
Dim destWb As Workbook
Set destWb = Application.Workbooks.Add
ws.Copy before:=destWb.Sheets(1)
Call destWb.Worksheets(2).Delete
Call destWb.SaveAs(saveDirectory & "\" & fileName)
Call destWb.Close
Set destWb = Nothing
Next
Set wb = Nothing
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【VBA】複数ブックから特定のシートを抽出して一つのブックに集約するマクロについて 3 2022/09/04 15:05
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- Excel(エクセル) 複数のブックをひとつのブック(複数のシートにまとめる)場合にシートとの順番について 5 2022/12/28 20:47
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
- Visual Basic(VBA) Excel VBA でデータ転記について 1 2023/03/07 19:11
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
マクロの保存先、開いてるすべ...
-
【Excel VBA】マクロでExcel自...
-
エクセル関数>参照ファイル名...
-
複数のExcelブックを1つ...
-
excel VBA シート保存について...
-
エクセル;相対パスを絶対パスへ...
-
ファイルごとにセルの移動方向...
-
【Excel】特定セルの内容をテキ...
-
エクセルVBAで作成した別ブック...
-
【Excel】マクロの保存先について
-
Excel VBAで他のブックを選択...
-
マクロ 自動でパスワード及び指...
-
エクセルでメッセージボックス...
-
エクセルで読み取り専用の時に...
-
ブックを開いたとき自動的にバ...
-
エクセルで複数のファイル(ブッ...
-
エクセル 半角カナを全角に、...
-
エクセルマクロで(セルの削除...
-
名前の変わるブックをアクティ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
エクセル;相対パスを絶対パスへ...
-
マクロの保存先、開いてるすべ...
-
【Excel】マクロの保存先について
-
excelで直前に参照していたブッ...
-
EXcelのマクロで相対パスでファ...
-
エクセルVBAで作成した別ブック...
-
複数のExcelファイルの印刷設定...
-
エクセルのvbaにて thisworkboo...
-
EXCELのボタンによるマクロの登...
-
エクセルVBA 個人用マクロブッ...
-
EXCELマクロで、開いてはいるが...
-
EXCELブックが勝手に開いて困っ...
-
エクセルで未保存に対するメッ...
-
[フィルターオプションの設定]...
-
【Excel】特定セルの内容をテキ...
-
ファイル名変更後も、マクロを...
-
名前の変わるブックをアクティ...
おすすめ情報
naktakさん、早速のアドバイス、ありがとうございます。頂いたものをコード表に張り付けたのですが、マクロの実行をするとエラー表示が出て意図したようにシートが移りませんでした。引き続きアドバイスをいただけたら・・と思います。よろしくお願いいたします。
VBAに関して超ド素人でして、私が当初質問で貼り付けたVBAも、「教えてgoo」の過去の回答欄にのっていたものを、ただ添付して使いました。多少の指定シート名などの編集は行いましたが・・。
「デバック実行」のこともなんのことかわからなかったですが、ネットで調べてやってみようと思います。できるかなぁ・・。
もう一度希望の動作を書きます。他の複数ブックから希望のシート(同名)を別のブックへ集約することは、当初の質問時に記述したマクロでできました。集約された再に各シートは元のブック名に変更となっています。集約ブック内で複数シートの同時編集が終わった後、元のブックにそれぞれ戻したいというのが今回の相談です。各シート名に振られている名前と同名のブックを探して、その際左列に格納したいと思います。できれば、その際に元のシート名(各シート同一名”12月”など)に戻るとベストです。