アプリ版:「スタンプのみでお礼する」機能のリリースについて

VBA初心者です。
エクセル2007を使用しております。

同一ブック内にある全てのシートで特定のマクロ(下記の例では×××)を実行するようにVBAマクロを個人用マクロブック上に作成しております。

Sub シート一括処理()
Dim Sht As Worksheet
For Each Sht In Worksheets
Sht.Select
Call ×××
Next Sht
End Sub

ブック内に非表示シートがあった場合、エラーとなります。
=====================
実行時エラー'1004'
'select'メソッドは失敗しました:
=====================

下記のような要件を満たすにはどのように修正すればよいでしょうか。
・非表示シートに対しても、×××マクロは適応したい。
・非表示シートは暫定的に表示してもよいが、最終的には非表示の状態にしたい。

よろしくお願いします。

A 回答 (1件)

推奨:


XXXマクロの方を改修し、事前にセレクトとかしておかないでも実行できるマクロにします。



今のままの延長:
セレクトしないとXXXが実行できないなら、表に出してセレクトするだけです。

sub macro1()
 dim w as worksheet
 dim v
 application.screenupdating = false
 for each w in worksheets
  v = w.visible
  w.visible = true
  w.select
  call XXX
  w.visible = v
 next
 application.screenupdating = true
end sub
    • good
    • 0
この回答へのお礼

「今のままの延長」の方で問題なく作動しました。
有難うございました。

お礼日時:2012/08/11 22:19

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