dポイントプレゼントキャンペーン実施中!

作業ブックを開くタイミングで、警告文を表示させる方法を教えてください。
パターン1
指定シートの指定セル「D37」と「E37」にそれぞれ日付が表示されております。
この日付「D37~E37」の期間中に作業ブックを開くと
警告文「締め切りが近づいております、ご注意ください」と表示
パターン2
指定シートの指定セル「D39」と「E39」にそれぞれ日付が表示されております。
この日付「D39~E39」の期間中に作業ブックを開くと
警告文「締め切りが完了しました」と表示
出来る方法を教えてください。
よろしくお願いいたします。

質問者からの補足コメント

  • うーん・・・

    VBAprojectを使い
    Private Sub Workbook_Open()
    MsgBox "警告文"
    End Sub
    までは設定できました。
    上記のコードを編集して私の希望に沿うようにできますでしょうか。
    重ねてよろしくお願いいたします。

      補足日時:2023/01/13 11:34

A 回答 (1件)

手順は複数考えられると思います


締め切りが近づいております と 締め切りが完了し は当然重ならないと思いますので上から順で・・・
>警告文  16アイコンとなりますが 48 注意アイコンにしました

Private Sub Workbook_Open()
Dim cellDate As Range
Dim Rng As Range
Set Rng = Worksheets("指定シート").Range("D37,E37,D39,E39")
Dim strMsg As String
strMsg = ""

For Each cellDate In Rng
If Not IsDate(cellDate) Then strMsg = strMsg & cellDate.AddressLocal(0, 0)
Next
If strMsg <> "" Then MsgBox strMsg & " のセル日付を確認してください": Exit Sub

With Worksheets("指定シート")
If chkPeriod(.Range("D37"), .Range("E37")) Then
MsgBox ("「締め切りが近づいております、ご注意ください」"), 48
Exit Sub
End If
If chkPeriod(.Range("D39"), .Range("E39")) Then
MsgBox ("「締め切りが完了しました」"), 48
Exit Sub
End If
End With
End Sub
'例によってファンクションで
Function chkPeriod(fromDate As Date, toDate As Date) As Boolean
Dim chkResult As Boolean: chkResult = False
If Date >= fromDate And Date <= toDate Then
chkResult = True
End If
chkPeriod = chkResult
End Function

セルの値が日付データなのかチェックを入れましたがどうでしょう
    • good
    • 0
この回答へのお礼

いつも回答をありがとうございます。
全て上手く来ました。
感謝いたします。

お礼日時:2023/01/13 13:26

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