VBA中,想要弹出一个MSGBOX,其中包含三个选项:“选项一”,“选项二”,“选项三”,如何实现?

在弹出的对话框中,三个按钮选项上的字是:“选项一”,“选项二”,“选项三”

你的要求没法无法用系统默认的msgbox,实现!可以自定义个弹出窗口来实现你的要求!

但可以如下,简单实现代替下

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim n As Long

n = MsgBox("选择【终止】:选项1" & vbCrLf & "选择【重试】:选项2" & vbCrLf & "选择【忽略】:选项3", vbAbortRetryIgnore, "提示")

Debug.Print n

Cells(1, 1) = n


End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-06-17
这应该不能用Msgbox,不过可以用窗体来实现。
做一个窗体,把BorderStyle改成3,然后放三个按钮,用form.show调出,在按钮的单击事件中输入form.unload以关闭(上面两个form均是一个窗体对象)。
第2个回答  2017-05-07
Private Sub ListBox1_Click()

If Me.ListBox1.Value = "选项一" Then MsgBox "a=1"

If Me.ListBox1.Value = "选项二" Then MsgBox "a=2"

If Me.ListBox1.Value = "选项三" Then MsgBox "a=3"

End Sub

Private Sub UserForm_Initialize()

ar = Array("选项一", "选项二", "选项三")

Me.ListBox1.List = ar

End Sub
第3个回答  2017-06-04
msgbox弹出对话框无法包括选项控件.按钮的文字也是固定的.只能包括:确定,取消,是,否,重试,忽略,终止.
第4个回答  2017-07-09
submsg()dimrngasrangesetrng=range("a1:b100")'假设范围为a1:b100ifnotrng.find("")isnothingthenmsgboxrng.address&"范围内有空值"setrng=nothingendsubSubmsg()DimrngAsRangeSetrng=Range("a1:b100")'假设范围为a1:b100IfNotrng.Find("")IsNothingThenMsgBoxrng.Address&"范围内有空值"ElseMsgBoxrng.Address&"范围内无空值"EndIfSetrng=NothingEndSub

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网