質問: エクセルシート「残圧確認表」のセルA1には計算式「=TODAY()」が入力されています。 (1)このエクセルシートを開いた際、月の最後の日(2019年5月の場合は31日)に【2019年5月の最後の日なので残圧入力後に「PDFファイルに保存」ボタンを押してデータを保存して下さい。】とmsgボックスを表示させるVBAはどの様にすれば宜しいでしょうか? (2)このエクセルシートを開いた際、月の最初の日(2019年6月の場合は1日)に【2019年6月の最初の日なので「残圧クリア」ボタンを押してデータをクリア後に記入して下さい。】とmsgボックスを表示させるVBAはどの様にすれば宜しいでしょうか?
回答: ThisWokbookのモジュールに以下のコードを記載してください。 Sheets("残圧確認表").Range("A1").Value はセル参照しなくても Date でいけると思いますが一応参照にしてます。 Private Sub Workbook_Open() If DateSerial(Year(Date), Month(Date) + 1, 0) = Sheets("残圧確認表").Range("A1").Value Then MsgBox "【" & Year(Sheets("残圧確認表").Range("A1").Value) & "年" _ & Month(Sheets("残圧確認表").Range("A1").Value) & "月の最後の日なので残圧入力後に「PDFファイルに保存」ボタンを押してデータを保存して下さい。】", vbInformation End If End Sub