-PR-
締切済み

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

  • 暇なときにでも
  • 質問No.203228
  • 閲覧数27222
  • ありがとう数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
お礼コメント
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")).Copy

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

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

すいません、勉強不足でした。
ただ単純に「全てのシートを選択」し「新規ファイルにコピー」という動作であれば、
sheets.Select
sheets.Copy
だけでできました。
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ