0 の表示:シート全体(ビュー設定)
'==============================
' 0 の表示:シート全体(ビュー設定)
'==============================
Public Sub ShowZero_Sheet()
On Error GoTo EH
If ActiveSheet Is Nothing Then Exit Sub
If ActiveSheet.ProtectContents Then
MsgBox "このシートは保護されています。0の表示設定を変更できません。", vbExclamation
Exit Sub
End If
ActiveWindow.DisplayZeros = True
Exit Sub
EH:
MsgBox "0表示設定でエラー:" & Err.Description & "(" & Err.Number & ")", vbCritical
End Sub
'==============================
' 内部ヘルパー
'==============================
Private Function TryGetRangeSelection(ByRef rngOut As Range) As Boolean
On Error GoTo EH
Dim rng As Range
Set rng = Nothing
On Error Resume Next
Set rng = ActiveWindow.RangeSelection
On Error GoTo EH
If rng Is Nothing Then
MsgBox "セル範囲を選択してください。", vbExclamation
TryGetRangeSelection = False
Else
Set rngOut = rng
TryGetRangeSelection = True
End If
Exit Function
EH:
MsgBox "選択範囲の取得でエラー:" & Err.Description & "(" & Err.Number & ")", vbCritical
TryGetRangeSelection = False
End Function
0 の非表示:シート全体(ビュー設定)
'==============================
' 0 の非表示:シート全体(ビュー設定)
'==============================
Public Sub HideZero_Sheet()
On Error GoTo EH
If ActiveSheet Is Nothing Then Exit Sub
If ActiveSheet.ProtectContents Then
MsgBox "このシートは保護されています。0の表示設定を変更できません。", vbExclamation
Exit Sub
End If
ActiveWindow.DisplayZeros = False
Exit Sub
EH:
MsgBox "0非表示設定でエラー:" & Err.Description & "(" & Err.Number & ")", vbCritical
End Sub
'==============================
' 内部ヘルパー
'==============================
Private Function TryGetRangeSelection(ByRef rngOut As Range) As Boolean
On Error GoTo EH
Dim rng As Range
Set rng = Nothing
On Error Resume Next
Set rng = ActiveWindow.RangeSelection
On Error GoTo EH
If rng Is Nothing Then
MsgBox "セル範囲を選択してください。", vbExclamation
TryGetRangeSelection = False
Else
Set rngOut = rng
TryGetRangeSelection = True
End If
Exit Function
EH:
MsgBox "選択範囲の取得でエラー:" & Err.Description & "(" & Err.Number & ")", vbCritical
TryGetRangeSelection = False
End Function
0表示のトグル(表示 / 非表示)
'---------------------------------------------
' 0表示のトグル(表示 / 非表示)
'---------------------------------------------
Public Sub ToggleZeroDisplay_Sheet()
On Error GoTo EH
'--- シート存在&保護チェック ---
If ActiveSheet Is Nothing Then Exit Sub
If ActiveSheet.ProtectContents Then
MsgBox "このシートは保護されています。0の表示設定を変更できません。", vbExclamation
Exit Sub
End If
'--- 切り替え実行 ---
ActiveWindow.DisplayZeros = Not ActiveWindow.DisplayZeros
'--- 状態表示 ---
Dim msg As String
msg = IIf(ActiveWindow.DisplayZeros, "0を表示しました。", "0を非表示にしました。")
Application.StatusBar = msg
DoEvents
Application.StatusBar = False
Exit Sub
EH:
MsgBox "0表示切替でエラー:" & Err.Description & "(" & Err.Number & ")", vbCritical
End Sub
コメント