• ベストアンサー

ExcelVBAを複数シートで実行する方法

Excelで以下のマクロを教えて下さい ・Aというマクロ処理を特定(複数)のシートのみ実行する ・Aというマクロ処理を全てのシートで実行する Aマクロは作成済みなのですが、複数シートでマクロを実行する方法がわかりません 宜しくお願い致します

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

No1です。 > 試してみたのですがアクティブなシートしか変更が反映されませんでした。 どのようなマクロか存じませんが、そのために st.Activate '(アクティブにする必要があるなら) としたのですがこの部分は使用されなかったのでしょうか? > マクロをインポートして実行するだけではないのでしょうか? 意味不明です。 マクロAはどこに記述されているのですか? どのようなコードなのですか?

yac13
質問者

お礼

すいませんできました VBエディタでアクティブシートの「Sheet」オブジェクトを選択してしたためアクティブシートしか反映されなかったようです。 対象を「ThisWorkbook」に変更したら正常に実行されました ありがとうございます

その他の回答 (3)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.3

Sub 複数シート() Dim sh As Worksheet For Each sh In Worksheets(Array("Sheet1", "sheet3")) sh.Select Call Aマクロ Next End Sub Sub 全シート() Dim sh As Worksheet For Each sh In Worksheets sh.Select Call Aマクロ Next End Sub >マクロをインポートして実行するだけではないのでしょうか? インポートどこに???

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

作成済みのAマクロを提示されて相談された方が回答が寄せられ易いと思います。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

Sub 特定シート() For Each st In Worksheets Select Case st.Name Case "Sheet2", "Sheet4", "Sheet7" '特定シート名 st.Activate '(アクティブにする必要があるなら) Call Aマクロ End Select Next End Sub Sub 全シート() For Each st In Worksheets st.Activate '(アクティブにする必要があるなら) Call Aマクロ Next End Sub 一例ですが、こんな感じでしょうか。

yac13
質問者

お礼

ありがとうございます 試してみたのですがアクティブなシートしか変更が反映されませんでした。 アクティブシートを別シートにすれば変更されるのですが、 マクロをインポートして実行するだけではないのでしょうか? 実行したマクロはいくつかあるのですが全て簡単なfor文のループです