Excel VBA質問箱 IV

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

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


16458 / 76738 ←次へ | 前へ→

【65747】Re:全てのシートでイベントのマクロを実行させたい
回答  neptune  - 10/6/24(木) 22:50 -

引用なし
パスワード
   ▼みるく さん:
全体としては検証してませんけど、

>  On Error Resume Next
>  Columns("H:J").Select
>  Selection.EntireColumn.Hidden = True
>  
>   ActiveSheet.Protect Password:="111", DrawingObjects:=True, contents:=True, UserInterfaceOnly:=True
>シートが゛複数ある場合、
>アクティブになっていないシートは、
>H:J列が開いたまま終了されてしまいます。
原因
そのように書いているからです。
※明示的にシートの指定をしていないから。

対策1
>  Columns("H:J").Select
の親オブジェクト(シート)を明示的にしてやる
対策2
その必要もないのにActiveSheet等のように曖昧なシート指定をしているので
それを、明示的に指定してやる

シート名を取得するサンプル:
Sub t()
  Dim sName() As String
  Dim i As Long
  
  ReDim sName(Worksheets.Count - 1)
  For i = 0 To UBound(sName)
    sName(i) = Worksheets(i + 1).Name
  Next i
End Sub

>  On Error Resume Next
は必要ですか?万が一の予期せぬのエラーは無視していいんですか?
理解して使ってますか?

0 hits

【65745】全てのシートでイベントのマクロを実行させたい みるく 10/6/24(木) 21:58 質問
【65746】Re:全てのシートでイベントのマクロを実行... 超初心者 10/6/24(木) 22:26 発言
【65747】Re:全てのシートでイベントのマクロを実行... neptune 10/6/24(木) 22:50 回答
【65770】Re:全てのシートでイベントのマクロを実行... みるく 10/6/26(土) 18:59 質問
【65776】Re:全てのシートでイベントのマクロを実行... REV 10/6/27(日) 9:39 発言
【65780】Re:全てのシートでイベントのマクロを実行... みるく 10/6/27(日) 18:23 質問
【65781】Re:全てのシートでイベントのマクロを実行... 通り魔 10/6/27(日) 18:42 発言
【65807】Re:全てのシートでイベントのマクロを実行... みるく 10/6/29(火) 1:57 お礼

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