Excel VBA質問箱 IV

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

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


16707 / 76732 ←次へ | 前へ→

【65489】Re:エラー制御
発言  Jaka  - 10/5/26(水) 10:49 -

引用なし
パスワード
   >おそらく隠す必要がないのでエラーになってしまうのだと思います。
>もちろん、エラーメッセージをそのまま終了してしまえば、
>改めてシートを開いたときには、H〜J列は非表示になっており、
>シート保護もパスワードで保護されてはいるのですが、
>このエラーメッセージを表示させずに終了したいのです。
動作の確認をしていませんが、エラーの原因が解っているようなので、
その原因を1個1個取り除いていけば良いと、素直に考えればいいんじゃないかと思います。

Sub aaaa() '注
Dim Ragcol As Range, Flg As Boolean
For Each Ragcol In Columns("H:J")
  If Ragcol.Hidden = True Then
   Flg = True
  End If
Next
If Flg = True Then
  MsgBox "非表示列があります。"
Else
  MsgBox "全表示"
End If
End Sub

Sub bbbb()
Dim Sh As Worksheet
For Each Sh In ActiveWorkbook.Worksheets
  If Sh.ProtectContents Then
    MsgBox Sh.Name & "が、保護されています。"
  End If
Next
End Sub

注)
ど素人や、表面だけ格好つけたがる人は、下記のように
なんでも一括で書きたがる傾向がありますが、常に全く同じようにH:J列そろって、
非表示になっているとは考えられないので、面倒でも1列づつチェックした方が良い。
と、私は思っています。

If Columns("H:J").EntireColumn.Hidden = True Then
  MsgBox "非表示"
Else
  MsgBox "表示"
End If
1 hits

【65487】エラー制御 みるく 10/5/26(水) 1:28 質問
【65489】Re:エラー制御 Jaka 10/5/26(水) 10:49 発言
【65502】Re:エラー制御 みるく 10/5/27(木) 22:00 お礼

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