Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3782 / 13645 ツリー ←次へ | 前へ→

【60236】全てのシートでマクロを実行したい kako 09/2/5(木) 16:05 質問[未読]
【60237】Re:全てのシートでマクロを実行したい マクロマン 09/2/5(木) 16:09 発言[未読]
【60238】Re:全てのシートでマクロを実行したい ponpon 09/2/5(木) 16:10 発言[未読]
【60239】Re:全てのシートでマクロを実行したい にぃ 09/2/5(木) 16:46 発言[未読]
【60245】Re:全てのシートでマクロを実行したい kako 09/2/5(木) 17:49 お礼[未読]

【60236】全てのシートでマクロを実行したい
質問  kako  - 09/2/5(木) 16:05 -

引用なし
パスワード
   コピペしたり行削除したりなどのコードを組みまして
開いているブックのシート全てでこのマクロを実行したいのですが
うまくできません・・・

シートが10枚あれば、1枚目のシートでマクロを実行し終えたら、2枚目のシートへ移り同じマクロを実行し、3枚目、4枚目・・・といった具合です

ご教授お願い致します。

【60237】Re:全てのシートでマクロを実行したい
発言  マクロマン  - 09/2/5(木) 16:09 -

引用なし
パスワード
   いろんな方法がありますが二つほど。

1.
Dim ws As worksheet
 for i = 1 to thisworkbook.worksheets.count
  set ws = thisworkbook.worksheets(i)
  wsに対する処理
 Next i

2.
Dim ws As worksheet
 For each ws in thisworkbook.worksheets
  wsに対する処理
 next ws

【60238】Re:全てのシートでマクロを実行したい
発言  ponpon  - 09/2/5(木) 16:10 -

引用なし
パスワード
   for next を使って
sheetを回してあげればどうでしょう。

すべてのシートなら
 Dim SH AS Worksheet
 For Each SH in Thisworkbook.Worksheets
  With SH
    ’処理
  End With
 Next

【60239】Re:全てのシートでマクロを実行したい
発言  にぃ  - 09/2/5(木) 16:46 -

引用なし
パスワード
   ▼kako さん:
こんにちは!

シートセレクトはあまり好まれませんが、このような方法もあります。
既に作成されているコードを編集せずに他でCallします。

Sub test()

  Dim Ws As Worksheet
  
  For Each Ws In ThisWorkbook.Worksheets
  
    Ws.Select
    Call 既にあるマクロ
    
  Next

End Sub

Sub 既にあるマクロ()
  '処理
End Sub

【60245】Re:全てのシートでマクロを実行したい
お礼  kako  - 09/2/5(木) 17:49 -

引用なし
パスワード
   みなさん

ご回答ありがとうございました。
うまいこと出来ました。
感謝です。

3782 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free