シートのVBAコード
下記に変更してください。
'設定値のチェック
Private Function SetDataCheck() As Boolean
SetDataCheck = False
'機種マスターのマークの有無をチェック
If ExMasterCheck = False Then
Exit Function
End If
'開始セル位置
If Range("L4") = "" Then
Range("L4").Select
Beep
MsgBox "開始セル位置を入力してください。", , "生産予定実績表"
Exit Function
End If
If Range(Range("L4")).Column < 3 Then
Range("L4").Select
Beep
MsgBox "開始セル位置の列はC以降にしてください。", , "生産予定実績表"
Exit Function
End If
'作成年のチェック
If Range("L9") < 2000 Or Range("L9") > 2100 Then
Range("L9").Select
Beep
MsgBox "作成年を2000~2100の範囲で入力してください。", , "生産予定実績表"
Exit Function
End If
'作成月のチェック
If Range("L10") < 1 Or Range("L10") > 12 Then
Range("L10").Select
Beep
MsgBox "作成月を1~12の範囲で入力してください。", , "生産予定実績表"
Exit Function
End If
SetDataCheck = True
End Function
下記のVBAコードを追加してください。
'機種マスターのマークの有無をチェック
Private Function ExMasterCheck() As Boolean
Dim lrow As Long
ExMasterCheck = False
lrow = ActiveSheet.Range("B65536").End(xlUp).Row
If lrow = 4 Then '4行目は見出し位置
MsgBox "作成する機種マスターに1をセットしてください。"
Else
ExMasterCheck = True
End If
End Function
シート画面
「作成開始ボタン」をクリックすると、「機種マスター」のマークをチェックします。
1をセットになっていますが、実際には空でなければOKになっています。
又、厳密にはコード・機種名の入力チェックなども必要かもしれませんが、性善説で考えています。