- ベストアンサー
ExcelVBAを複数シートで実行する方法
Excelで以下のマクロを教えて下さい ・Aというマクロ処理を特定(複数)のシートのみ実行する ・Aというマクロ処理を全てのシートで実行する Aマクロは作成済みなのですが、複数シートでマクロを実行する方法がわかりません 宜しくお願い致します
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
No1です。 > 試してみたのですがアクティブなシートしか変更が反映されませんでした。 どのようなマクロか存じませんが、そのために st.Activate '(アクティブにする必要があるなら) としたのですがこの部分は使用されなかったのでしょうか? > マクロをインポートして実行するだけではないのでしょうか? 意味不明です。 マクロAはどこに記述されているのですか? どのようなコードなのですか?
その他の回答 (3)
- hige_082
- ベストアンサー率50% (379/747)
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)
作成済みのAマクロを提示されて相談された方が回答が寄せられ易いと思います。
- merlionXX
- ベストアンサー率48% (1930/4007)
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 一例ですが、こんな感じでしょうか。
お礼
ありがとうございます 試してみたのですがアクティブなシートしか変更が反映されませんでした。 アクティブシートを別シートにすれば変更されるのですが、 マクロをインポートして実行するだけではないのでしょうか? 実行したマクロはいくつかあるのですが全て簡単なfor文のループです
お礼
すいませんできました VBエディタでアクティブシートの「Sheet」オブジェクトを選択してしたためアクティブシートしか反映されなかったようです。 対象を「ThisWorkbook」に変更したら正常に実行されました ありがとうございます