OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

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

  • 暇なときにでも
  • 質問No.203228
  • 閲覧数26954
  • ありがとう数10
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 17% (7/39)

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

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

シートは n件存在します。
ご存知の方がおられましたら
ぜひ、教えて頂けないでしょうか?
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全3件)

  • 回答No.1
レベル10

ベストアンサー率 61% (75/121)

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

Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Worksheets
'コピー処理を記述
Next
お礼コメント
HystericGlamour5

お礼率 17% (7/39)

回答ありがとうございます。
質問には書いてなかったのですが、
確かに For Eachでも可能なのですが
できれば Loop を使わずに
1度にコピー出来ないかと思いまして…
投稿日時 - 2002-01-22 16:38:06
  • 回答No.2
レベル10

ベストアンサー率 61% (75/121)

一発で新規ファイルに複数のシートコピーするのは以下のようにすればできそうです。(マクロの記録結果) Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select Sheets(Array("Sheet1", "Sheet2", "Sheet3" ...続きを読む
一発で新規ファイルに複数のシートコピーするのは以下のようにすればできそうです。(マクロの記録結果)
Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Copy

いずれにせよ、シート名の取得はループを使うのが簡単ではないでしょうか。
  • 回答No.3
レベル10

ベストアンサー率 61% (75/121)

すいません、勉強不足でした。 ただ単純に「全てのシートを選択」し「新規ファイルにコピー」という動作であれば、 sheets.Select sheets.Copy だけでできました。
すいません、勉強不足でした。
ただ単純に「全てのシートを選択」し「新規ファイルにコピー」という動作であれば、
sheets.Select
sheets.Copy
だけでできました。
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ