Excel-VBA 快速上手(十、提示框、可输入的弹出框)


一、对话框


1.1. 弹出对话框


对话框是最常见的功能,先看一下相对完整的对话框结构:

对话框结构

由图可见,对话框一般由三部分组成( 窗口标题、提示内容、按钮和图标类别和默认选中),VBA 中调用对话框的
语法也是如此,MsgBox 提示内容,按钮和图标类别和按钮默认选中,窗口标题

窗口标题和提示内容很好理解,重点说一下 <按钮和图标类别和按钮默认选中> 这个参数要怎么传,这个参数其
实由三个值组成,实际使用时以 按钮类别 + 图标类别 + 按钮默认选中 这种格式传参,下面列出常用的类别

按钮类别

名称描述
vbOKOnly0对话框内显示确定按钮
vbOKCancel1对话框内显示确定和取消两个按钮
vbAbortRetryIgnore2对话框内显示中止、重试、忽略三个按钮
vbYesNoCancel3对话框内显示是、否、取消三个按钮
vbYesNo4对话框内显示是和否两个按钮
vbRetryCancel5对话框内显示重试和取消两个按钮

图标类别

名称描述
vbCritical16对话框内显示危险图标
vbQuestion32对话框内显示询问图标
vbExclamation48对话框内显示警告图标
vbInformation64对话框内显示信息图标

按钮默认选中

名称描述
vbDefaultButton10对话框内默认选中第一个按钮
vbDefaultButton2256对话框内默认选中第二个按钮
vbDefaultButton3512对话框内默认选中第三个按钮
vbDefaultButton4768对话框内默认选中第四个按钮

完整的对话框传参示例,<按钮和图标类别和按钮默认选中> 可以传名称,也可以传值

Public Sub main()
  '两种方式都可以
  MsgBox "提示内容", vbYesNoCancel + vbExclamation + vbDefaultButton2, "窗口标题"
  MsgBox "提示内容", 3 + 48 + 256, "窗口标题"
End Sub

1.2. 获取用户对对话框的选择


当我们弹出对话框后,肯定希望获取用户的选择,vba 中,当对话框的按钮被点击后,就会返回按钮的值,我们只
需要判断这个值就可以,vba 中对话框的按钮相对较少,每个按钮都有它固定的值

按钮值名称按钮的值描述
vbOk1确定按钮
vbCancel2取消按钮
vbAbort3中止按钮
vbRetry4重试按钮
vbIgnore5忽略按钮
vbYes6是按钮
vbNo7否按钮

示例,使用按钮值名称和使用按钮值都可以进行判断,注意:当想获取对话框的返回值时,不要忘记给 MsgBox 的参数
列表加上 ()

Public Sub main()
  Dim value As Integer
  value = MsgBox("提示内容", vbYesNoCancel + vbExclamation + vbDefaultButton2, "窗口标题")
  '使用按钮值进行判断
  If value = 6 Then
    Debug.Print "用户选择了'是'"
  End If
  '使用按钮值名称进行判断
  If value = vbYes Then
    Debug.Print "用户选择了'是'"
  End If
End Sub

二、可输入的对话框


这种对话框,可以让用户输入,vba 中有两种常见的使用方式,InputBox 函数和 Applicatoin.InputBox 方法

2.1. InputBox函数


InputBox函数语法:InputBox(可输入的对话框的提示文字, 窗口标题, 输入框的默认值)

对话框的返回值有下面几种情况:

  1. 用户输入内容后点击确定按钮,对话框的返回值为用户输入的内容
  2. 用户没输入内容,但是输入框中有默认值的时候,点击确定按钮,对话框的返回值为输入框中的默认值
  3. 用户没输入内容,输入框也没有默认值时,点击确定按钮,对话框的返回值为空字符串
  4. 用户点击取消按钮时,对话框的返回值为空字符串

示例

Public Sub main()
  Dim value
  value = InputBox("可输入的对话框的提示文字", "窗口标题", "这是输入框的默认值")
  Debug.Print value
End Sub

效果

inputbox函数效果

2.2. Application.InputBox 方法


这种方式跟前一种相比,主要多了限定输入框内容类型的功能,这种对话框点击取消按钮后返回 False

语法为:
Application.InputBox(对话框的提示文字,窗口标题,输入框默认值,输入框 x 坐标,输入框 y 坐标,帮助文档,文档ID,输入框内容类型)

参数看上去非常多,但其实很好理解,对话框的提示文字、窗口标题、输入框默认值这三个参数看描述就知道怎么
传了,输入框 x 坐标、输入框 y 坐标、帮助文档、文档ID这四个参数一般不用传,所以这里也不介绍了,重点就是最后
一个参数 ( 输入框内容类型 ),这个参数有多种类型可供选择,如下:

描述
0公式类型
1数字类型
2文本类型、既字符串类型
4布尔值类型
8单元格引用类型
16错误值类型

这些类型动手试一试就能了解,主要记录一下单元格引用类型

单元格引用类型

当选择一个单元格时,对话框返回的是 Range 对象,多个单元格时对话框返回的是二维数组

示例

代码:

Public Sub main()
  Dim value
  value = Application.InputBox("对话框显示内容", "输入框标题", "文本框内默认值", , , , , 8)
  If VBA.IsArray(value) Then
   Debug.Print "二维数组:" & value(1, 1)
  Else
    Debug.Print "Range对象:" & value
  End If
End Sub

效果:

单元格引用效果

  • 15
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "excel-vba教程完全版.pdf"是一份非常详细的Excel VBA教程。它包含了许多实例和示例,解释了Excel VBA的基本概念和语法,以及如何使用VBA编写各种Excel宏。这份教程既适合初学者学习,也适合中级和高级用户作为快速参考手册使用。 该文档的存储位置是阿里云盘,这意味着你可以随时随地使用云盘进行访问。同样,这也意味着你可以下载该文档并将其保存到任何设备上,以便您在离线时仍然可以学习和参考。 无论你是需要学习Excel VBA来改进自己的工作,还是需要了解Excel VBA的基础知识作为一个数据处理或业务分析的工作要求,这个教程都非常优秀。如果你愿意花时间学习和实践,并跟随教程完成练习,你将成为一个熟练的Excel VBA程序员,能够编写更加复杂和高效的Excel宏。所以,这个教程是非常值得推荐的。 ### 回答2: excel-vba教程完全版.pdf是一本关于Excel VBA编程的教程,涵盖了许多内容,适合想要学习Excel VBA编程的初学者以及希望深入了解的进阶者。这本教程从基础概念开始,逐步深入,涵盖了VBA开发环境、数据类型、变量、运算符、控制结构、数组、函数等多个方面的内容。 此外,本教程还详细介绍了Excel VBA中常用的对象,如Workbook对象、Worksheet对象和Range对象等,以及它们的属性和方法的使用方式。同时,本教程还介绍了经典的Excel VBA编程技巧,如错误处理、调试技巧、宏录制等,让读者能够掌握高效、优化的编程方法。 总体来说,excel-vba教程完全版.pdf是一本较为全面的Excel VBA编程教程,对于Excel VBA编程感兴趣的人来说,是一本不可多得的学习资料。而作为阿里云盘上的一个资源,其存储空间也方便了用户在任何地方都可以随时下载和阅读,为Excel VBA编程爱好者提供了便利。 ### 回答3: excel-vba教程完全版.pdf是一份非常优秀的Excel VBA教程资源,非常适合希望学习如何使用Excel VBA编程的人。这份教程详细地介绍了VBA的各种基础和高级知识,包括如何使用VBA编写宏、创建用户界面以及使用各种对象、方法和属性等等。这份教程内容丰富、结构清晰、易于理解,对于初学者而言也非常友好。 在阿里云盘上获取这份教程也非常便捷和方便。用户只需要通过阿里云盘的下载链接即可下载教程文档,并可以在自己的电脑上进行阅读和学习。阿里云盘作为一种云存储服务,具有高速稳定、容量大等特点,因此不必担心下载速度和下载文件的稳定性问题。 总之,excel-vba教程完全版.pdf是一份非常优秀的VBA教程资源,对于想学习如何使用Excel VBA进行编程的人而言是一份极佳的教程材料。而且,通过阿里云盘可以轻松地获取这份教程资源,非常方便和实用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值