アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel VBAで複数のシートを新たらしいブックにコピーする方法が分かりません。

一応、Selectで全てのシートを選択し
コピーする方法は分かるのですが
出来ればSelectなどの画面遷移をプログラム内に含ませたくありません

シートは n件存在します。
ご存知の方がおられましたら
ぜひ、教えて頂けないでしょうか?

A 回答 (3件)

すいません、勉強不足でした。


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

一発で新規ファイルに複数のシートコピーするのは以下のようにすればできそうです。

(マクロの記録結果)
Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Copy

いずれにせよ、シート名の取得はループを使うのが簡単ではないでしょうか。
    • good
    • 5

全部のシートに対して処理を行うのであれば、"For Each"は使えませんか?



Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Worksheets
'コピー処理を記述
Next
    • good
    • 3
この回答へのお礼

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

お礼日時:2002/01/22 16:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!