分享

如何在 Excel 中使用 VBA 消息框和输入框?

 知识情报院 2022-02-21

问题:

使用 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 来使用对话框来弹出消息,使用输入框来接收用户输入的信息;大家都学会了吗?

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多