- 締切済み
マクロを複数シートに実行するには?
ブック内全ての複数のシート(sheet30くらい)に、 同じマクロ作業を実行するには どのようにすればよいでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- hana-hana3
- ベストアンサー率31% (4940/15541)
>初心者なものなので、この方法を教えて頂ければ助かります。 具体的な処理内容が解らないので、もっとも単純な処理方法を記載します。 マクロ sample を実行すると、ブックのシートを順番にアクティブにしながら、Macro1 というマクロを実行します。 Sub sample() Dim WS As Worksheet For Each WS In Workbooks WS.Activate Call Macro1 'Callに続けて、実行したいマクロ名を記述 Next End Sub Sub Macro1() '処理 End Sub
- hana-hana3
- ベストアンサー率31% (4940/15541)
標準モジュールにマクロを記載すればどのシートからも実行できます。 マクロ内部でシート名を指定している場合は、どのシートでも動くように修正する必要があります。 マクロボタンもツールバー等に設定すると、全てのシートに設置する必要もなくなります。 個別のシートで実行するのではなく、プログラムで一括で全てのシートにマクロを適用する事も可能です。
- myRange
- ベストアンサー率71% (339/472)
例えば、 ●全シートのセルB5、に、"あいうえお"と入れる場合 '------------------------------- Sub Test() Dim sht As Worksheet For Each sht In Worksheets sht.Range("A1").Value = "あいうえお" Next sht End Sub '--------------------- ●Sheet3以外のシートのセルB5、に、"あいうえお"と入れる場合 '-------------------------------- Sub Test() Dim sht As Worksheet For Each sht In Worksheets If sht.Name <> "Sheet3" Then sht.Range("A1").Value = "あいうえお" End If Next sht End Sub '---------------------- 以上です。
- FEX2053
- ベストアンサー率37% (7991/21372)
標準モジュールにマクロを記述すれば、全てのシート(カレントワークシート) で同等に動作しますよ。つか、普通にマクロの記録をすれば、標準モジュール に記録され、そのままどのシートでも動作する筈なんですが。
補足
ありがとうございます! >プログラムで一括で全てのシートにマクロを適用する 初心者なものなので、この方法を教えて頂ければ助かります。