MsgBox中的第二个指定按钮有什么作用?

时间:2016-10-24 08:01:54

标签: excel vba excel-vba

我在Chandoo的优秀网站上查看了一个代码示例,当我在他的post about using SQL in Excel中看到它时:

MsgBox "I was not able to find any unique Products.", vbCritical + vbOKOnly

我从未见过指定了两个按钮选项的消息框。我一直在玩它,但不明白+ vbOKOnly有什么好处。它是否存在似乎没有任何区别。

有人能告诉我,这样指定的两种按钮类型有什么用处或为什么在示例中使用它?

2 个答案:

答案 0 :(得分:2)

MsgBox命令可用于显示各种不同的消息,包括(但不限于)以下类型:是/否,确定,重试等。

因此,MsgBox可以在某种程度上进行定制。为了允许Microsoft使用二进制编码as outlined on their website

本质上,您只需一个OK按钮即可显示(如示例代码所示)一条严重错误消息,以确认这一点。为了实现此目的,您可以添加要包含消息的所有选项。

如图on Microsoft's website所示,关键消息框的选项为16,而仅包含OK按钮的选项为0.因为,16 + 0 = 16,你是对的,没有区别两者之间。原因是 - 默认情况下 - 任何消息框仅带有OK按钮。因此它被赋予了0值。但是,如果您希望消息框带有OK按钮和Cancel按钮,则值将为1,选项将累积为16 + 1 = 17或vbOKCancel + vbCritical(两者都应该有效。)

MsgBox "I was not able to find any unique Products.", vbCritical + vbOKCancel

MsgBox "I was not able to find any unique Products.", 17

然后,您可以通过两个按钮获得严重错误。

答案 1 :(得分:1)

vbCritical是指msgbox上显示的图标,而vbOKOnly仅指显示“确定”按钮选项。

请参阅此处了解一些示例:http://www.exceltrick.com/formulas_macros/vba-msgbox/

甚至更多:http://analysistabs.com/vba/msgbox-examples-macros/#bm7