我想知道是否可以在VBA(Excel 2007)中显示Msgbox,而没有将任何按钮设置为默认值? 我有一个是\否按钮,我不希望用户点击返回或空格键并意外触发默认按钮。
任何人都知道这是否可行,以便我的表单上的任何一个按钮都没有设置为默认值,强制用户单击是或否?
If MsgBox("Message goes here", vbYesNo + vbQuestion ) = vbYes Then
'Something
Else
'Else
End If
答案 0 :(得分:6)
另一种解决方法(除了用户窗体,或陷阱输入& 空间等)是
码
Dim lngMsg As Long
Do
lngMsg = MsgBox("Message goes here (Yes or No)", vbQuestion + vbYesNoCancel + vbDefaultButton3)
Loop While lngMsg = vbCancel
If lngMsg = vbYes Then
' route a
Else
' route b
End If
答案 1 :(得分:2)
不幸的是,这不可能。
一种(不是特别好的)解决方法是使用UserForm对消息框进行编码。考虑到你必须维护的额外代码的好处,可能不值得做。
答案 2 :(得分:-1)
If MsgBox("Message goes here", vbYesNo + vbQuestion **+ vbDefaultButton2**) = vbYes Then
'Something
Else
'Else
End If