「教えて!ピックアップ」リリース!

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

A 回答 (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
    • good
    • 5

標準モジュールにマクロを記載すればどのシートからも実行できます。


マクロ内部でシート名を指定している場合は、どのシートでも動くように修正する必要があります。

マクロボタンもツールバー等に設定すると、全てのシートに設置する必要もなくなります。
個別のシートで実行するのではなく、プログラムで一括で全てのシートにマクロを適用する事も可能です。

この回答への補足

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

補足日時:2010/02/19 16:17
    • good
    • 1

例えば、


●全シートのセル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
'----------------------

以上です。
    • good
    • 0

標準モジュールにマクロを記述すれば、全てのシート(カレントワークシート)


で同等に動作しますよ。つか、普通にマクロの記録をすれば、標準モジュール
に記録され、そのままどのシートでも動作する筈なんですが。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング