• 締切済み

マクロを複数シートに実行するには?

ブック内全ての複数のシート(sheet30くらい)に、 同じマクロ作業を実行するには どのようにすればよいでしょうか?

みんなの回答

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.4

>初心者なものなので、この方法を教えて頂ければ助かります。 具体的な処理内容が解らないので、もっとも単純な処理方法を記載します。 マクロ 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)
回答No.3

標準モジュールにマクロを記載すればどのシートからも実行できます。 マクロ内部でシート名を指定している場合は、どのシートでも動くように修正する必要があります。 マクロボタンもツールバー等に設定すると、全てのシートに設置する必要もなくなります。 個別のシートで実行するのではなく、プログラムで一括で全てのシートにマクロを適用する事も可能です。

sifon-cake
質問者

補足

ありがとうございます! >プログラムで一括で全てのシートにマクロを適用する 初心者なものなので、この方法を教えて頂ければ助かります。

  • myRange
  • ベストアンサー率71% (339/472)
回答No.2

例えば、 ●全シートのセル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)
回答No.1

標準モジュールにマクロを記述すれば、全てのシート(カレントワークシート) で同等に動作しますよ。つか、普通にマクロの記録をすれば、標準モジュール に記録され、そのままどのシートでも動作する筈なんですが。

関連するQ&A

専門家に質問してみよう