VBA控件之一(MultiPage 控件)
使用 MultiPage 控件来处理大量可被分为几类排序信息。 MultiPage 控件由组成一个或多个 Page 对象, 每个包含不同组的控件。 以编程方式通过设置 MultiPage 控件的 Value 属性设置活动页。
方式一、如何控制 MultiPage 控件编程
要添加 MultiPage 控件并控制它通过使用宏, 请按照下列步骤操作:
1. | 启动 Excel, 并打开新空白工作簿。 |
---|---|
2. | 在 工具 菜单, 指向 宏 , 然后单击 VisualBasic 编辑器 。 |
3. | 在 插入 菜单上, 单击要在工作簿中插入 UserForm UserForm 。 |
4. | 添加到 UserForm MultiPage 控件。 |
5. | 将 Label 控件添加到 Page 1 多页 控件上。 |
6. | 将 TextBox 控件添加到 Page 1 多页 控件上。 |
7. | MultiPage 控件, 上单击, Page 2 , 然后重复步骤 5 和 6 以添加一个 Label 控件和 TextBox 控件。 |
8. | 双击要打开代码窗口对 MultiPage 控件 MultiPage 控件。 |
9. | 在代码窗口, 为 MultiPage1 Change 事件键入下列代码: |
10. | 在代码窗口, 为 UserForm Initialize 事件键入下列代码: |
11. | 在 运行 菜单上, 单击 运行子过程 / 用户窗体 。 Page 1, 上 TextBox 控件中键入 Test 。 当单击 Page 2 选项卡、 TextBox 2 被清除, 和标题为 Label 2 变为项, 在 Page 1 上 TextBox 所做 (” Test “) (” Test “) |
- 为 MultiPage1 Change 事件键入下列代码:
1
2
3
4
5
6
7
8
9
10
11
12Private Sub MultiPage1_Change()
Select Case MultiPage1.Value
' If activating Page1...
Case 0
Label1.Caption = TextBox2.Text
TextBox1.Text = ""
' If activating Page2...
Case 1
Label2.Caption = TextBox1.Text
TextBox2.Text = ""
End Select
End Sub - 为 UserForm Initialize 事件键入下列代码:
1
2
3
4
5Private Sub UserForm_Initialize()
' Force Page1 to be active when UserForm is displayed.
MultiPage1.Value = 0
Label1.Caption = ""
End Sub
如何通过使用 MultiPage 控件创建一个向导界面
将任务需要几个增量步骤, 向导界面可能会非常有效。 您可使用 MultiPage 控件以创建一个向导界面代替使用多用户窗体。 本示例操作具有三页 MultiPage 控件。 附加到对 UserForm Initialize 事件过程禁用 Page 2 和 Page3, 并强制 Page 1 的 多页 控件可活动。
注意 您通过使用 Pages 集合, 索引 MultiPage 控件的页面时集合中第一页是零页。 此过程还设置标题的 CommandButton 控件并禁用 < 备份 按钮。
注意的功能是分配给 CommandButton 1 控件的 Click 事件过程 “ 后退 “ 按钮 < 是分配给 CommandButton 2 是 Click 事件过程控制功能的下一步 > 按钮。 若要通过使用 MultiPage 控件, 创建一个向导界面请按照下列步骤:
1. | 启动 Excel, 并打开新空白工作簿。 |
---|---|
2. | 在 工具 菜单, 指向 宏 , 然后单击 VisualBasic 编辑器 。 |
3. | 在 插入 菜单上, 单击要在工作簿中插入 UserForm UserForm 。 |
4. | 添加到 UserForm MultiPage 控件。 |
5. | 右键单击, “ Page 1 选项卡, 然后单击要添加到 多页 控件 Page3 新页 。 |
6. | 添加一个 CommandButton 控件不位于 多页 控件上 UserForm 上。 重复此步骤可添加一个 UserForm 上二 CommandButton 控件。 |
7. | 双击以打开代码窗口对于 UserForm UserForm 。 |
8. | 在代码窗口, 为 UserForm Initialize 事件键入下列代码: |
9. | 在 运行 菜单上, 单击 运行子过程 / 用户窗体 。 |
当您单击下一步 > 激活 Page 2 后退 “ 按钮可, 和 < 当您单击 Next > 第二次, Page3 激活并题注为 CommandButton 2 更改为 “ 完成 “。
1 | '在代码窗口, 为 UserForm Initialize 事件键入下列代码: |
方式二、vba Page分页控件使用方法介绍
基本说一下Page使用方法,包括添加分页、删除分页、和设置分页属性等几点比较重要的内容。
- 一个表单示例,标题分布以按钮形式来显示,默认为标签形式。
设置方法:
1 | With |
- 背景图片设置
背景图片用loadpicture("图片路径+文件名")加载
使用方法如下:
1 | Me.MultiPage1.Pages.Item(1).Picture =_ |
其中注意一点Item(i),item表示Page页 字母i代表下标或索引值.索引值从0开始,也就是说第一个Page页用item(0)来代表,最后一个用item(pages.count-1)来表示.
- 改变按钮宽度
这个功能其实就是设置分布标题大小,用TabFixedWidth设置宽,TabFixedHeight设置高.
使用方法如下:
1 | with |
- 新建分页
新建分页也十分简单,一行代码就可以完成. MultiPage1.Pages.Add “分布名”,”标题名”,索引值
使用方法如下:
1 | Dim x As Integerx = Me.MultiPage1.Pages.Count |
- 删除分页
删除分页也是一行代码完成的,Me.MultiPage1.Pages.Remove 索引
使用方法如下:
1 | Dim i As Integeri = Me.MultiPage1.Pages.Count - 1'取最后一个分布索引号 |
- 结尾
其实对分页控件用得不是很熟悉,所以也是边学边做,,有些错误的地方,就难免.
同时也希望指出不正确的地方,加以改正.
关注江觅学习更多vba编程技术
相关链接
欢迎到公众号来唠嗑: