Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何将vbYes/vbNo转换为布尔值?_Excel_Vba - Fatal编程技术网

Excel 如何将vbYes/vbNo转换为布尔值?

Excel 如何将vbYes/vbNo转换为布尔值?,excel,vba,Excel,Vba,此代码显示MsgBox并询问一个问题。结果以VbMsgBoxResult形式返回,并转换为布尔值 Dim gobox as VbMsgBoxResult dim go as boolean gobox = MsgBox("Question?", vbYesNo, "Descriptive Titel") If gobox = vbYes Then go = True Else go = False End If 有没有更简单的方法将VbMsgBoxResult转换为布尔值?可能只是 go =

此代码显示MsgBox并询问一个问题。结果以VbMsgBoxResult形式返回,并转换为布尔值

Dim gobox as VbMsgBoxResult
dim go as boolean

gobox = MsgBox("Question?", vbYesNo, "Descriptive Titel")
If gobox = vbYes Then
go = True
Else
go = False
End If
有没有更简单的方法将VbMsgBoxResult转换为布尔值?

可能只是

go = (MsgBox("Question?", vbYesNo, "Descriptive Titel") = vbYes)

是的,这很有效。。仍然不确定是否有办法在没有比较的情况下将它们真正转化为另一个。。但肯定要短得多。我不这么认为。VbMsgBoxResult是一个具有七个值的枚举。啊,因此该类型还包括其他msgbox类型,如YesNoCancel等。知道了。谢谢您的快速回复。是的,只需查看对象浏览器(在VBE中按F2键)并搜索VbMsgBoxResult。我想您也可以使用
go=MsgBox(“问题?”,vbYesNo,“描述性滴度”)-7
作为
vbYes
=6,
vbNo
=7,
True
=1和
False
=0(我要补充一点,我不会,因为给出的答案更容易阅读)。