如何在 Excel 中使用 VBA 消息框和输入框?
问题:
使用 vbYesNo 参数(显示答案按钮:是和否)制作一个 消息框Msgbox
,询问用户是否具有特定名称(例如,询问用户是否名为小明
)。如果答案是否定的,请使用输入框InputBox
方法允许用户更改名称。随后,使用此新输入来创建新的消息框
答案解析:
- 首先声明变量,然后将 MsgBox 答案分配给变量
Dim Ans As String
Dim Ans2 As String
Dim Name As String
Ans = MsgBox("你的名字是小明吗?", vbYesNo, "VBA程序")
- 如果答案为否,则继续创建一个 InputBox 来接收新的用户名
If Ans = vbNo Then
Name = InputBox("那你的名字是?", "VBA程序")
- 如果未输入任何文本,就离开 InputBox,那么就会退出程序
If Name = vbNullString Then
Exit Sub
End If
- 接收用户的输入,并对用户的下一个点击事件,做出两种回应
Ans2 = MsgBox("抱歉," & Name & "! 欢迎你!" & vbCrLf & vbCrLf & "热烈欢迎!", vbYesNo, "VBA程序")
If Ans2 = vbNo Then
MsgBox "下次再来!", vbCritical, "VBA程序"
Else
MsgBox "欢迎光临!"
End If
- 如果真的是小明,我们直接输出一个对话框
Else
MsgBox "你好,我是个服务员机器人!", , "VBA程序"
- 完整代码示例:
Sub Solution()
Dim Ans As String
Dim Ans2 As String
Dim Name As String
Ans = MsgBox("你的名字是小明吗?", vbYesNo, "VBA程序")
If Ans = vbNo Then
Name = InputBox("那你的名字是?", "VBA程序")
If Name = vbNullString Then
Exit Sub
End If
Ans2 = MsgBox("抱歉," & Name & "! 欢迎你!" & vbCrLf & vbCrLf & "热烈欢迎!", vbYesNo, "VBA程序")
If Ans2 = vbNo Then
MsgBox "下次再来!", vbCritical, "VBA程序"
Else
MsgBox "欢迎光临!"
End If
Else
MsgBox "你好,我是个服务员机器人!", , "VBA程序"
End If
End Sub
今天的教程,主要学习了:如何使用 VBA 来使用对话框来弹出消息,使用输入框来接收用户输入的信息;大家都学会了吗?
欢迎关注公众号:KnowHub 知识加油站
后续我们会循序渐进的学习办公编程的其他知识,欢迎大家关注!