• 締切済み

Excel VBAで複数シートをコピーする

Excel VBAで複数のシートを新たらしいブックにコピーする方法が分かりません。 一応、Selectで全てのシートを選択し コピーする方法は分かるのですが 出来ればSelectなどの画面遷移をプログラム内に含ませたくありません シートは n件存在します。 ご存知の方がおられましたら ぜひ、教えて頂けないでしょうか?

みんなの回答

  • sgh
  • ベストアンサー率61% (75/121)
回答No.3

すいません、勉強不足でした。 ただ単純に「全てのシートを選択」し「新規ファイルにコピー」という動作であれば、 sheets.Select sheets.Copy だけでできました。

すると、全ての回答が全文表示されます。
  • sgh
  • ベストアンサー率61% (75/121)
回答No.2

一発で新規ファイルに複数のシートコピーするのは以下のようにすればできそうです。(マクロの記録結果) Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Copy いずれにせよ、シート名の取得はループを使うのが簡単ではないでしょうか。

すると、全ての回答が全文表示されます。
  • sgh
  • ベストアンサー率61% (75/121)
回答No.1

全部のシートに対して処理を行うのであれば、"For Each"は使えませんか? Dim Sh As Worksheet For Each Sh In ThisWorkbook.Worksheets 'コピー処理を記述 Next

HystericGlamour5
質問者

お礼

回答ありがとうございます。 質問には書いてなかったのですが、 確かに For Eachでも可能なのですが できれば Loop を使わずに 1度にコピー出来ないかと思いまして…

すると、全ての回答が全文表示されます。

関連するQ&A