- ベストアンサー
エクセルで複数のファイル(ブック)を一つのファイルにまとめるには
エクセルに複数のファイルをドラッグ&ドロップしてファイルを開き、一つのファイル(ブック)にまとめたい場合、どのようなマクロを組めばいいのでしょうか? できれば、そのまとめて一つにしたファイルを保存するとき、ファイルにマクロが含まれないようにできればよいのですが。
- aiueochama
- お礼率93% (15/16)
- オフィス系ソフト
- 回答数3
- ありがとう数4
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
再びご参考まで。 下記のマクロだけを記述したブックを Combine.xls という名前で適当な場所に 保存しておきます。 操作は 1.まずこのブックを開いておきます。 2.エクスプローラから任意のファイルをこの中にドラッグして開きます。 3.このブック(Combine.xls)を表示してマクロを実行します。 ・実行前にセルA1に文字列を入力しておくと、それが作成されたブックの名前に なります。 ・セルA1が空白のまま実行すると、ファイル名は"Toriaezu.xls"になります。 Sub BooksCombine() Dim i As Long, j As Long Dim FName As String, myBook As String, WB() As String Application.ScreenUpdating = False FName = Range("A1").Value If FName = "" Then FName = "Toriaezu" Workbooks.Add myBook = ActiveWorkbook.Name ReDim WB(1 To Windows.Count) As String Do Until i = Windows.Count i = i + 1 Workbooks(i).Activate If Workbooks(i).Name <> myBook And _ Workbooks(i).Name <> "Combine.xls" Then j = j + 1 WB(j) = Workbooks(i).Name End If Loop For j = 1 To Windows.Count On Error GoTo Fin Workbooks(WB(j)).Activate ActiveWorkbook.Sheets.Select Sheets(1).Activate Sheets.Copy before:=Workbooks(myBook).Sheets(1) Workbooks(WB(j)).Activate Application.DisplayAlerts = False ActiveWorkbook.Close Next j Fin: Workbooks(myBook).Activate Worksheets("Sheet1").Delete ActiveWorkbook.SaveAs Filename:="C:\_Anns\Zone_2\" & FName, _ FileFormat:=xlNormal ActiveWorkbook.Close Range("A1").ClearContents Application.ScreenUpdating = True End Sub
その他の回答 (2)
- misatoanna
- ベストアンサー率58% (528/896)
とりあえずのマクロです。 処理手順はご要望と少し違い、ひとつのファイルにまとめたい複数のブックを 専用フォルダに入れて処理します。 新規ブックを開いて、標準モジュールに以下を編集してコピペします。 Sub Test() Dim FPath1 As String, FPath2 As String Dim FName As String, myBook As String Application.ScreenUpdating = False FPath1 = "C:\_Anns\Zone_3\" '←専用フォルダ(実際のフルパスに変更) FPath2 = "C:\_Anns\Zone_1\" '←まとめたブックを保存する実際のパスに Workbooks.Add myBook = ActiveWorkbook.Name FName = Dir$(FPath1 & "*.xls") Do While FName <> "" Workbooks.Open Filename:=FPath1 & FName ActiveWorkbook.Sheets.Select Sheets(1).Activate Sheets.Copy After:=Workbooks(myBook).Sheets(Sheets.Count) Workbooks(FName).Activate Application.DisplayAlerts = False ActiveWorkbook.Close FName = Dir$ Loop ActiveWorkbook.SaveAs Filename:=FPath2 & "Renketsu.xls", FileFormat:=xlNormal ActiveWorkbook.Close Application.ScreenUpdating = True End Sub 実行して処理が終ったら、まとめたブックの保存用として指定したフォルダを 開くと、"Renketsu.xls" というファイルがありますので、内容を確認してみて ください。
お礼
ご回答ありがとうございます。大変参考になります。 ただ、できればたくさんのフォルダ中のファイルをとっかえひっかえ開く場合が多いものですから、フォルダを指定するよりドラック&ドロップのほうが都合がよいのです。もう少し考えてみます。
- k-e-i
- ベストアンサー率13% (10/74)
「マクロ」という単語が出てきているのは ファイルもシートもたくさんあってコピー元のシートタブを右クリック→移動又はコピーで纏めていくのが面倒だからですか? マクロは判らないですが、ただ単に纏めるだけでしたら上記の方法でもできますよ
関連するQ&A
- 複数のブックのデーターをひとつにできますか?
複数のブックにシートが1個づつ、中は同じ種類のタイトルデータ、記号やコメント文章、同じなんですが、これらのブックを新しいブックのシートに指定したブックの順番にデーターが、繋ぎ合わさせることって、できるのでしょうか? たとえば、50個づつのデータが入っているファイルが10個あるとすれば、 新しい11個めのエクセルファイルのシートにデータが500個となる。 こんなことって出来ますか? できるとすれば、マクロという方法ですか? 難しいでしょうか? マクロを書いてくれるようなサービスはないでしょうか? 有るとすれば、どのような単語で検索すれば、マクロを作ってくれるサイトが見つかるでしょうか?
- ベストアンサー
- その他MS Office製品
- フォルダ内にある複数エクセルブックを一つにまとめたい
マクロを使って複数ブックを一つにマージしたいです。 どなたか宜しくお願いします。 フォルダに16個のエクセルブックがあります。ブックは4つのシートでできています。シートの列数は共通なのですが、行数が異なります。 これを新しいブックにコピペでつなげていきたいのです。 すみませんがどなたか宜しくお願いします。
- 締切済み
- その他(プログラミング・開発)
- エクセルについて 複数のブックをまとめて
エクセルで作成した複数のブックがあります。 どれもマクロ・VBAを使っています。 そこで、この作成した複数のブックを一つの共通メニュー画面から起動させたいのです。 作成した複数のブック(例) 1出退勤(職員の出退勤を管理するブック) 2カリキュラム編成(カリキュラムを編成するためのブック) 3出張申請用(出張を申請するためのブック) 上記のようなブックを共通のメニュー画面から、選択し、起動したいです。 共通メニュー画面から1を選択すれば出退勤のブックが開くようにしたいです。 また、どれも社内の共有フォルダーに保存しています。メニュー画面もそのようになります。 これを個人のフォルダーに保存しても変わりなく使用できるようにしたいです。 かといって、個人が入力したものがマスターに反映されるといったものではなりません。 あくまで、個人で使用できれば問題ありません。 メニュー画面のみのコピーし、あとのブックは共通フォルダに固定でも、メニュー画面以外のブックもまるまるコピー移動でも、形は問いません。 とにかく、複数のブックを統合ではなく、ぱっとみたところ一つのソフトのようにパッケージング?するイメージです。 ご教授いただけるとありがたいです。 よろしくお願いします。
- 締切済み
- Excel(エクセル)
- 1つのエクセルブックに複数PCから登録するマクロ
お世話になります。 サーバーにある1つのエクセルブック(データ蓄積用)に、複数のユーザーがエクセルの登録フォームからマクロを使って登録の処理を行いたいと思っています。 この場合のバッティング回避方法を教えて頂けないでしょうか? 登録フォームのマクロ内容は、「登録ボタンを押した時、サーバーのエクセルブックを開き、今回データを1行追加書き込み後、上書き保存して閉じる」というものです。 問題は、複数のユーザーがたまたま同時に登録処理をした場合、後からサーバーのエクセルブックにアクセスしたユーザー側は、読み取り専用のために書き込み出来ず、エラーになると思われることです。 そこで、登録フォームのマクロを「サーバーのエクセルブックが読み取り専用の場合、読み取り専用じゃなくなってから書き込み処理」とすれば良いのではないかと考えました。 他のユーザーが書き込みのためにブックを開いている時間はほんの一瞬だから、可能な気がするのですが・・・。 実際、これは可能でしょうか? もし、可能であれば具体的なサンプルコードを記述頂ければ大変ありがたいです。 また、違う方法があれば、ご教授願います。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- エクセルの複数ブックをまとめて印刷したい
お世話になります。 早速ですが、フォルダ内に複数のエクセルブックがあります。それらのブックには複数のシートがあります。 フォルダー内の複数のブックの複数のシートも含むものを一括印刷したいのですが可能でしょうか? フォルダー内を一括選択し、ファイルの印刷をした場合、 複数のブックを印刷することは可能なのですが、それらにあるはずの複数のシートが印刷されません。 「複数のブックの全てのシートも含むものを一括印刷」したいのですができるでしょうか? よろしくおねがいします。
- ベストアンサー
- Windows NT・2000
- エクセルでファイル保存が出来ない…
始めまして。 エクセル2000で作成したファイルを エクセル2002で開きました。 そのまま上書き保存をしたいのですが 数人と共有する為、保存形式を下記のようにしたいと 思っています。 Microsoft Excel 97-2002および5.0/95ブック(*.xls) ところが、2002で開いていると保存の際に 「ファイルが保存できません」と出てしまいます。 名前を変えてみてもダメで、 保存形式を Microsoft Excelブック(*.xls) にしてみてもダメでした。 元々作成した時のPCがエクセル2000だったので 新しい機能があるため保存出来ない…とかでは なさそうなのですが…。 ちなみにファイルの中には 複数のマクロが組まれています。 (データをクリアして新しく計算式を貼り付ける等) マクロを組む事で何か原因があるのでしょうか。 皆様の知恵をお貸し下さい。宜しくお願いします。
- 締切済み
- Windows XP
- エクセルにおける,「ブック」と「ファイル」の違いに
エクセルにおける,「ブック」と「ファイル」の違いについて エクセルの「ブック」「ファイル」の違いは何でしょうか? 作成したワークシート全体を「ブック」 「ブック」を保存したものが「ファイル」で合っていますでしょうか?
- 締切済み
- Excel(エクセル)
- エクセル:複数ブックをマクロを使い同一条件で集約・抽出したい
教えて下さい 複数のエクセルブックがあります(全て1フォルダーに集約してある) それぞれA列に日付、B列に金額が入っている 複数あるブックを指定する日付で次から次へと検索しその金額とファイル名を新しいブックに縦に全てコピー(抽出)したい ちなみに、必ず条件にあうデータがそれぞれのブックにあるとは限りません 無い場合もあります 無い場合は特に抽出する必要はありません ========================================================= 例:2007/12のデータを抽出したい ★抽出結果イメージ A B C 1 2007/12 200 ああああ.xls 2 2007/12 300 いいいい.xls 3 2007/12 100 うううう.xls 4 ・ ・ ・ 5 ・ ・ ・ 6 ・ ・ ・ 7 ・ ・ ・ ========================================================= このような場合、マクロでできますか?マクロは初心者です 教えてください よろしくお願いします 複数あるブックとは数的に60とかあります ちなみに現状はファイルを一つ一つ開き、指定日付を検索し見つけだし その行をコピーペーストしています たくさんブックがあるので、これをしていると目がチカチカしてきてしまいます この作業がマクロでできると、すごく感激なのですが・・・ どなたか、お知恵・お力をおかしくださいませ
- ベストアンサー
- オフィス系ソフト
- エクセル2007のマクロのブックについて
エクセル2007を現在使用しております。 その中のファイルで、97-2003の保存形式(xls)で使用していたマクロのブックがあります。 そのブックを保存形式はそのままで、名前だけを変更し登録しました。 すると、セキュリティの警告で、マクロが無効にされましたと表示され、 現在その都度有効に設定している状態です。 ブックの名前を変更するとマクロは無効になるのでしょうか? 原因を教えて下さい。 また、このブックだけを常に有効にする設定もあれば、 その方法もご教授下さい、お願いいたします。
- 締切済み
- オフィス系ソフト
- EXCELの複数シートをそれぞれ別ブックへ保存したい
EXCEL97を使用しています。 1つのブック内に複数のシート(10~20枚)があります。 これを全て1シートずつの別のブックに分けて保存をするマクロを作成したいのですが、できますでしょうか? できれば各シート内の(A4)に入力されている文字列を各ブックの名前として使用したいのですが・・・。 (各シートのセルA4の値に重複はありません) 現在は各シートを新しいブックにコピーして名前を付けて保存、の作業をシート数分繰り返しています。 すみませんがよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
お礼
ありがとうございます。できました。 非力なので自分の力だけではどうにも及ばないので大変たすかります。 貴重な時間を裂いていただいてありがとうございました。 また機会がありましたらよろしくお願いいたします。