作業ブックを開くタイミングで、警告文を表示させる方法を教えてください。
パターン1
指定シートの指定セル「D37」と「E37」にそれぞれ日付が表示されております。
この日付「D37~E37」の期間中に作業ブックを開くと
警告文「締め切りが近づいております、ご注意ください」と表示
パターン2
指定シートの指定セル「D39」と「E39」にそれぞれ日付が表示されております。
この日付「D39~E39」の期間中に作業ブックを開くと
警告文「締め切りが完了しました」と表示
出来る方法を教えてください。
よろしくお願いいたします。
No.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
セルの値が日付データなのかチェックを入れましたがどうでしょう
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Access(アクセス) エクセルのVBAについて教えてください。 4 2023/01/21 10:21
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 09:24
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/01/23 17:13
- Visual Basic(VBA) VBA 複数のブックに同じ列を表示させる方法 2 2022/07/20 23:49
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/01/20 16:37
- Access(アクセス) ExcelのVBAコードについて教えてください。 4 2023/01/20 09:44
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 3 2022/06/10 09:24
- Excel(エクセル) エクセルについて教えてください。 1 2023/03/03 08:38
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームのラベルに日...
-
DataGridViewの和暦表示について
-
指定した日付が、その月の第何...
-
Eclipseの対応する括弧の強調表...
-
【Excel VBA】条件に合った行の...
-
今日より前の書き方 マクロ
-
VBA 日付、未来の日付はエラー...
-
MonthView 日付取得方法
-
DataGridViewでyyyy/MM/dd
-
日付の差を求めるには
-
VB 日付範囲チェック
-
VBAのvalueとvalue2の違いに...
-
VisualBasic6.0のFormat関数で...
-
テキストボックスに今日の日付...
-
VBAで当月の1日を表示するには...
-
最近、iPhoneがおかしいです 私...
-
電話の着信が来てないのに着信...
-
このPASMOの通知来ないようにで...
-
アンドロイドから通知無しで鳴る音
-
iPhoneの通知が何故か来なくな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームのラベルに日...
-
エクセルのVBAで日付を検索し転...
-
Eclipseの対応する括弧の強調表...
-
DataGridViewでyyyy/MM/dd
-
VisualBasic6.0のFormat関数で...
-
JSPからYYYYMMDDで日付入力する
-
今日より前の書き方 マクロ
-
3人のじゃんけんのプログラム
-
システム日付とは?
-
【Excel VBA】条件に合った行の...
-
VBA 日付、未来の日付はエラー...
-
【VBA】土日をスキップして日付...
-
VBAで当月の1日を表示するには...
-
「eclipseで作るカレンダー(ス...
-
VBAの質問になります 行の非表示
-
VB 日付範囲チェック
-
コンボボックスに日付を表示する
-
テキストボックスにカレンダー...
-
VB6.0 のformat関数について
-
指定した日付が、その月の第何...
おすすめ情報
VBAprojectを使い
Private Sub Workbook_Open()
MsgBox "警告文"
End Sub
までは設定できました。
上記のコードを編集して私の希望に沿うようにできますでしょうか。
重ねてよろしくお願いいたします。