プロが教える店舗&オフィスのセキュリティ対策術

同じブック内のSheet1~Sheet10で同一のマクロを実行させたいのですが。

VBEditorにどのような記述をすればいいでしょうか。

A 回答 (4件)

同じマクロを実行したいシートをすべて選択しておきます。


そして以下のマクロを実行すればご希望通りの動作をすると思います。
--------------------------------------------
Dim ws As Worksheet

For Each ws In ActiveWindow.SelectedSheets
  ws.Cells(15, 2).Value = ws.Name '希望する処理で置き換えてください。
Next ws
-----------------------------------------------
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
こういうのを求めていました。

お礼日時:2006/07/31 05:22

標準モジュールに書けばよろしいのでは?

    • good
    • 0
この回答へのお礼

最初から標準モジュールに書いてますが。

お礼日時:2006/07/31 05:23

#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
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2006/07/31 05:21

どんな処理なのか、、、にもよります。



シートイベントならば Thisworkbook に書けば良いし、それ以外ならループさせる感じでしょうか。
例えば下記を標準モジュールに書いて実行すると、ブック内の全シートのA1にシート名を入力します。

Sub Test()
Dim ws As Worksheet
 For Each ws In Worksheets
   ws.Range("A1").Value = ws.Name
 Next ws
End Sub
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

シートイベントではありません。
Sheet1~20あるうちのSheet1~10までに対応させたいのですが。
(場合によっては連番でないこともあります)

お礼日時:2006/07/30 21:45

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