アプリ版:「スタンプのみでお礼する」機能のリリースについて

VBAコード
Private Sub Workbook_Open()
Dim tmp, dNow
tmp = Split(ThisWorkbook.Name, ".")
If Split(ThisWorkbook.Name, ".")(UBound(tmp)) <> "xlsm" Then
dNow = Format(Now, "yyyy/mm/dd")
With Worksheets("300")
If dNow >= Format(.Range("D39"), "yyyy/mm/dd") _
And dNow <= Format(.Range("E39"), "yyyy/mm/dd") Then
MsgBox ("「締め切りが完了しました」"), 48
Call 比較日付
Call 便利帳比較
Call マクロひな形保存

Exit Sub
End If
End With
End If
End Sub
があります。
このコードは上記のセル値の日付の範囲以内でブックを開くと警告文が表示されてその後
設定しているマクロが実行されます。
現状では、警告文が表示されて「OK」をクリックしても、又、警告文の「×」をクリックしても
設定しているマクロが実行されますが、
警告文が表示されて「OK」をクリックしたときのみに設定マクロ実行され
警告文の「×」をクリックした場合は設定しているマクロが実行されないようにする方法を教えてください。
よろしくお願いいたします。

A 回答 (2件)

警告文を表示しているのは MsgBox なので、その戻り値を調べましょう


https://learn.microsoft.com/ja-jp/office/vba/lan …

vbOK が戻った場合だけ Call をすればよいかと
    • good
    • 0
この回答へのお礼

回答ありがとうございました
早速試してみます

お礼日時:2023/01/23 18:10

こんにちは



>方法を教えてください。
MSGBOXの戻り値で判断すれば良いでしょう。
ただし、OKボタンのみ表示の場合は、×をクリックしてもOKが返りますので、キャンセルボタンもあるタイプ(第二引数を49など)にしておく必要があります。
https://learn.microsoft.com/ja-jp/office/vba/lan …

キャンセルボタンを表示するのが嫌であれば、フォームで同様のものを作成して、フラグ等を用いて判断する仕組みにしておけば可能でしょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
早速試してみます

お礼日時:2023/01/23 18:11

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