admin 管理员组

文章数量: 1184232


2024年3月9日发(作者:eclipseide怎么导入jar包)

Excel VBA用户窗体编程基础

本文详细介绍了用户窗体的基本概念及常用技术。

概述

当使用MsgBox函数和InputBox函数不能满足与用户交互的需求时,可以使用用户窗体来自

定义对话框。能够使用用户窗体来显示所输入的数据,甚至能够使用用户窗体创建一个完整

的用户界面,而不会让用户接触到电子表格本身。

您在Windows对话框中所看到的大多数控件都能在用户窗体中实现——命令按钮,选项按钮,

复选框,文本框,组合框——加上一些其它不常用的控件,像图像、日历,等等。

本文介绍了用户窗体的基本概念,并介绍了使用用户窗体的常用技术。其中,也讲解了一些

最通用的思路。在文章中列举了一个包含所有过程的完整的示例文件,以及实现这些过程的

代码,让您能在实践中看到所有工作的基本原理和方法。

本文包含以下内容:

基本的用户窗体操作

用户窗体和控件的属性

一个用户窗体的生命周期

用户窗体和控件的事件

问题1:如何在用户窗体间传递数据?

问题2:如何找到我的窗体中的某类控件?

问题3:如何获取数据到列表框中?

问题4:如何为循环创建进度条?

基本的用户窗体操作

创建一个用户窗体。打开VBE编辑器(选择菜单“工具——宏——Visual Basic编辑器”

或按Alt+F11组合键),选择菜单“插入——用户窗体”,或者在工程窗口中单击右键,

从弹出的快捷菜单中选择“插入——用户窗体”,即可创建一个用户窗体。

添加控件。当创建了一个用户窗体后,将会显示一个名为“控件工具箱”的浮动工具箱

(如果没有该工具箱的话,可以从视图菜单中找到它),其中显示了最常用的控件类型。

单击想要的控件,拖动它到用户窗体中。

更多的控件。有一些更多的可用的控件,可以在控件工具箱中单击右键,从中选择“附

加控件”,能够添加日历、电子表格、图形,等等。

添加事件程序。事件允许当用户对窗体和控件进行操作时作出相应的反应,事件程序要

放置在用户窗体模块中,能够通过双击用户窗体或控件来打开代码模块窗口,或者在用

户窗体或控件中单击右键,从快捷菜单中选择“查看代码”来打开代码模块窗口,或者

Excel VBA用户窗体编程基础

在工程窗口中的用户窗体图标上单击右键后选择“查看代码”来打开代码模块窗口。然

后,在代码模块窗口中,对用户窗体或控件添加相应的事件程序代码。

显示用户窗体。打开用户窗体模块,按F5键可以运行宏程序,或者单击工具栏中的运

行按钮,将显示用户窗体。注意,在用户窗体模块中按F5键并不会运行光标所在的子

过程,而是运行用户窗体自身。

调试。和在宏程序中一样,按F8键允许您逐语句运行代码。

用户窗体和控件的属性

用户窗体和控件都有属性(如尺寸、位置,等等),能够在设置用户窗体时改变这些属性,并

且它们中的大多数属性也能够在运行时通过代码来改变。在设置用户窗体时所选择的值是缺

省值,在运行时所作的变化仅当用户窗体被装载时有效。

两个最重要的属性是Name属性和Value属性:

Name属性可用于指定某个控件。能够通过控件的索引号指定控件,但这样会难于理解

和调试,因此,使用名称是更可取的。

Value属性是所使用的实际输入或者输出的数据。在不同的控件中,该属性值稍有区别。

例如,选项按钮控件和复选框控件的Value属性值为True/False,而文本框控件的Va

lue值则是该文本框所包含的文本。Value属性既可用于输入,也可用于输出。

例如:

= Range("A1").Value

Range("B1").Value =

一个好习惯

给用户窗体和控件起一个具有描述性且分类清楚的名字。将会发现在每类控件名前加一个前

缀是很有帮助的,例如,frm代表用户窗体,opt代表选项按钮,等等。这样将会使代码更

易阅读,并且也会允许使用一些技术,否则代码将会很复杂。

指定控件和用户窗体,以及Me关键字

当在用户窗体代码模块中指定窗体中的控件时,可以通过名字指定他们,例如txtFirstNam

="John"。对于在其它用户窗体中的控件,用户窗体名称应该放在控件名之前,例如,

artments。

同样的方法对在用户窗体模块中所声明的公共变量也是有效的——这是用户窗体的基本属

性(例如,e)。注意,不能在用户窗体的代码模块中声明全局变量。

Me是一个在用户窗体的代码模块中指定该用户窗体的快捷方式(例如,表示当前

用户窗体的高度)。又如,在用户窗体UserForm1中指定TextBox1:

'在当前用户窗体模块中

" = "Example"

'在不同的模块中

= "Example"

- 2 -

fanjy_EH


本文标签: 窗体 用户 控件