- ベストアンサー
複数のシートでマクロの実行
同じブック内のSheet1~Sheet10で同一のマクロを実行させたいのですが。 VBEditorにどのような記述をすればいいでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
同じマクロを実行したいシートをすべて選択しておきます。 そして以下のマクロを実行すればご希望通りの動作をすると思います。 -------------------------------------------- Dim ws As Worksheet For Each ws In ActiveWindow.SelectedSheets ws.Cells(15, 2).Value = ws.Name '希望する処理で置き換えてください。 Next ws -----------------------------------------------
その他の回答 (3)
- NCU
- ベストアンサー率10% (32/318)
標準モジュールに書けばよろしいのでは?
お礼
最初から標準モジュールに書いてますが。
- papayuka
- ベストアンサー率45% (1388/3066)
#1です。 シート名で特定するとか、シート順で特定するとか、何かロジック化出来る必要があります。 ベタですが、シート名が Sheet1, Sheet3, Sheet5 の時だけ、A1にシート名を入れます。 Sub Test1() Dim ws As Worksheet For Each ws In Worksheets Select Case ws.Name Case "Sheet1", "Sheet3", "Sheet5" ws.Range("A1").Value = ws.Name End Select Next ws End Sub
お礼
回答ありがとうございます。
- papayuka
- ベストアンサー率45% (1388/3066)
どんな処理なのか、、、にもよります。 シートイベントならば Thisworkbook に書けば良いし、それ以外ならループさせる感じでしょうか。 例えば下記を標準モジュールに書いて実行すると、ブック内の全シートのA1にシート名を入力します。 Sub Test() Dim ws As Worksheet For Each ws In Worksheets ws.Range("A1").Value = ws.Name Next ws End Sub
お礼
回答ありがとうございます。 シートイベントではありません。 Sheet1~20あるうちのSheet1~10までに対応させたいのですが。 (場合によっては連番でないこともあります)
お礼
回答ありがとうございます。 こういうのを求めていました。