Excel使用VBA窗体的教程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中文部分
如何更改用户窗体在Excel 2003,Excel 2002 和Excel 2000 中的使用vba 的应用程序(VBA)
查看本文应用于的产品
本页
概要
简介
更多信息
用户窗体基础知识
如何显示用户窗体
如何暂时隐藏用户窗体
若要从内存中删除用户窗体的方法
如何使用用户窗体事件
如何捕获用户窗体事件
如何防止用户窗体被关闭,通过使用关闭按钮
VBA 代码
如何使用设计模式中编辑控件
如何在用户窗体上的控件,请参阅
标签控件
如何使用WITH 语句设置Label 控件的格式
文本框控件
如何使用验证密码TextBox 控件
命令按钮控件
列表框控件
如何获取当前选定的项从列表框控件
如何获取多个选择列表框控件中的选定的项
如何使用来填充列表框控件与单元格在工作表上的行来源属性
如何填充数组中的值与列表框控件
如何使用工作表上的水平单元格区域来填充列表框控件
如何从列表框控件所绑定到的数据的多个列中返回多个值
如何从列表框控件所绑定到工作表中删除所有项目
如何删除未绑定到工作表的列表框控件的所有项目
组合框控件
如何将新项添加到列表中,如果组合框控件没有绑定到工作表
如何将新项添加到列表中,如果组合框控件所绑定到工作表
如何显示一个组合框控件的列表,用户窗体出现时
如何在另一个组合框控件中进行选择时显示的一个组合框控件列表
框架控件
如何循环访问一框架控件上的所有控件
选项按钮控件
如何确定选项按钮控件是在一框架控件上时选择了该选项按钮控件
如何确定已选中该选项按钮控件
复选框控件
如何检查复选框控件的值
切换按钮控件
如何获取切换按钮控件的值
如何创建一组互斥的切换按钮控件
TabStrip 控件
如何以编程方式控制TabStrip 控件
多页控件
如何以编程方式控制多页控件
如何通过使用多页控件中创建一个向导界面
滚动条控件
如何更改基于滚动条控件的值的Label 控件
数值调节钮控件
如何添加一个递增的数值调节钮控件或递减TextBox 控件中存储的日期
RefEdit 控件
如何填充基于您使用RefEdit 控件来选择该区域的单元格区域
图像控件
如何加载图像控件中的图片
其他信息
对象浏览器
展开全部| 关闭全部
概要
这篇文章介绍了如何更改用户窗体以编程方式在Excel 中。

它包括示例和Microsoft Visual Basic 用于向您展示如何利用用户窗体的功能以及如...
这篇文章介绍了如何更改用户窗体以编程方式在Excel 中。

它包括示例和Microsoft Visual Basic 用于向您展示如何利用用户窗体的功能以及如何使用ActiveX ™ 控件,供用户窗体的应用程序(VBA)宏。

用户窗体的基本原则的介绍,介绍如何显示用户窗体、如何暂时隐藏用户窗体,以及如何消除用户窗体。

您还显示了如何使用与用户窗体相关联的最常见事件——初始化事件、Click 事件和终止事件。

一个或多个下面的示例演示如何在用户窗体中使用的每个以下ActiveX ™ 控件:
标签控件
TextBox 控件
命令按钮控件
列表框控件
组合框控件
框架控件
选项按钮控件
复选框控件
切换按钮控件
TabStrip 控件
multiPage 控件
滚动条控件
数值调节钮控件
RefEdit 控件
图像控件
回到顶端
简介
本文介绍如何使用VBA 在Excel 中的用户窗体中进行更改。

本文介绍如何使用VBA 在Excel 中的用户窗体中进行更改。

回到顶端
更多信息
Microsoft 提供的编程示例只,用于说明不附带任何明示或暗示保证。

这包括,但不限于对适销性或针对特定用途的适用性的暗示的担保。

本文假定您熟悉演示了正在使用...
Microsoft 提供的编程示例只,用于说明不附带任何明示或暗示保证。

这包括,但不限于对适销性或针对特定用途的适用性的暗示的担保。

本文假定您熟悉演示了正在使用的编程语言以及用于创建和调试过程的工具。

Microsoft 支持工程师可以帮助解释某个特定过程的功能,但他们不会修改这些示例以提供额外的功能或构建过程来满足您的具体要求。

回到顶端
用户窗体基础知识
如何显示用户窗体
以编程方式显示用户窗体使用的语法是下列:
UserFormName.Show
若要显示名为UserForm1 用户窗体,请使用下面的代码:
UserForm1.Show
您可以加载到内存用户窗体而不实际显示它。

可能需要复杂的用户窗体几秒钟,会出现。

因为您可以预用户窗体加载到内存中,您可以决定何时导致此开销。

而不显示它加载到内存的UserForm1,使用下面的代码:若要显示该过程用户窗体的
Load UserForm1
必须使用Show 方法以前显示的。

如何暂时隐藏用户窗体
如果要暂时隐藏用户窗体,请使用隐藏方法。

您可能希望隐藏用户窗体,如果您的应用程序涉及到用户窗体之间移动。

若要隐藏用户窗体,请使用下面的代码:
UserForm1.Hide
有关更多的信息请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:213747 (/kb/213747/ ) XL2000:如何使用命令按钮的自定义用户窗体之间移动
若要从内存中删除用户窗体的方法
若要从内存中删除用户窗体使用卸载语句。

若要卸载用户窗体名为UserForm1,使用下面的代码:
Unload UserForm1
如果您卸载与用户窗体关联,或与用户窗体上的控件相关联的事件过程中用户窗体(例如对于单击命令按钮控件)时,您可以使用"me"关键字而不是用户窗体的名称。

若要使用"me"关键字卸载用户窗体,使用下面的代码:
Unload Me
如何使用用户窗体事件
用户窗体支持许多预定义的事件您可以将附加的VBA 过程。

当发生事件时您附加到该事件过程将运行。

由用户执行的单个操作可以启动多个事件。

最经常使用的用户窗体的事件包括初始化事件、Click 事件和终止事件。

注意在Visual Basic 模块包含事件过程可能被称为用户窗体后面的模块。

一个模块包含事件过程,将不可见的Microsoft 项目资源管理器窗口Visual Basic 编辑器的模块集合中。

您必须双击用户窗体可以查看用户窗体代码模块的正文。

如何捕获用户窗体事件
补漏白用户窗体事件,请按照下列步骤操作:
在Excel 中创建一个新的工作簿。

在工具菜单上指向宏,然后单击Visual Basic 编辑器。

在插入菜单上单击用户窗体插入您的工作簿中的用户窗体。

双击要为用户窗体显示在代码窗口在用户窗体。

在模块中键入以下代码:
Private Sub UserForm_Click()
Me.Height = Int(Rnd * 500)
Me.Width = Int(Rnd * 750)
End Sub
Private Sub UserForm_Initialize()
Me.Caption = "Events Events Events!"
Me.BackColor = RGB(10, 25, 100)
End Sub
Private Sub UserForm_Resize()
msg = "Width: " & Me.Width & Chr(10) & "Height: " & Me.Height
MsgBox prompt:=msg, Title:="Resize Event"
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
msg = "Now Unloading " & Me.Caption
MsgBox prompt:=msg, Title:="QueryClose Event"
End Sub
Private Sub UserForm_Terminate()
msg = "Now Unloading " & Me.Caption
MsgBox prompt:=msg, Title:="Terminate Event"
End Sub
在运行菜单上单击运行子过程/用户窗体。

当首次加载用户窗体,时该宏使用初始化事件更改为"事件事件事件! 和背景色属性,以深蓝色的用户窗体的标题属性。

单击用户窗体,时您会触发Click 事件。

Click 事件调整用户窗体的大小。

因为您创建了的Resize 事件过程,所以您会收到两个消息框,单击用户窗体后。

Resize 事件发生两次,因为后Click 事件的代码更改宽度属性和用户窗体的高度属性。

关闭用户窗体初始化QueryClose 事件。

该QueryClose 事件显示一个消息框,其中包含您在代码中赋予用户窗体,初始化事件的标题。

您可以使用QueryClose 事件时要执行一组特定的操作,如果用户关闭用户窗体。

终止事件,然后将生成一个消息框指出用户窗体的标题是UserForm1。

在终止事件发生后就会从内存中删除用户窗体和用户窗体的标题返回到其原始状态。

如何防止用户窗体被关闭,通过使用关闭按钮
您在运行用户窗体时在用户窗体窗口的右上角添加一个关闭按钮。

如果要防止用户窗体通过使用关闭按钮关闭,您必须补漏白QueryClose 事件。

用户窗体是从内存中卸载之前,将发生QueryClose 事件。

使用QueryClose 事件的CloseMode 参数来确定如何关闭用户窗体。

CloseMode 参数vbFormControlMenu 值表明在关闭按钮被单击。

若要使用户窗体处于活动状态,请QueryClose 事件的取消参数设置为True。

若要使用QueryClose 事件来防止用户窗体通过使用关闭按钮关闭,请按照下列步骤操作:
在Excel 中创建一个新的工作簿。

在工具菜单上指向宏,然后单击Visual Basic 编辑器。

在插入菜单上单击用户窗体插入您的工作簿中的用户窗体。

向用户窗体中添加命令按钮控件。

双击要为用户窗体显示在代码窗口在用户窗体。

在代码窗口中键入以下代码:
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
IF CloseMode = vbFormControlMenu Then
Cancel = True
Me.Caption = "Click the CommandButton to close Me!"
End If
End Sub
在运行菜单上单击运行子过程/用户窗体。

当您单击关闭按钮时,用户窗体未关闭。

您必须单击关闭用户窗体的命令按钮控件。

有关更多的信息请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:207714 (/kb/207714/ ) XL2000:使用用户窗体集合的运行时错误211527 (/kb/211527/ ) XL2000:无法将用户窗体控件拖动到工作表
211868 (/kb/211868/ ) XL2000:错误运行宏的用户窗体中插入控件
213582 (/kb/213582/ ) XL2000:问题时,可以将控件添加到用户窗体中使用宏
213583 (/kb/213583/ ) XL2000:无法在其他项目中显示用户窗体213736 (/kb/213736/ ) XL2000:如何确定键按下鼠标按钮一起213744 (/kb/213744/ ) XL2000:如何暂时隐藏用户窗体213747 (/kb/213747/ ) XL2000:如何使用命令按钮的自定义用户窗体之间移动
213749 (/kb/213749/ ) XL2000:如何使用用户窗体用于输入数据213768 (/kb/213768/ ) XL2000:如何动态地调整用户窗体的大小213774 (/kb/213774/ ) XL2000:如何使用用户窗体中创建一个启动屏幕
回到顶端
VBA 代码
Excel 包含15 个不同的控件,您可以在用户窗体上使用。

此部分包含以编程方式使用这些控件的各种示例。

注意包括在本文中的VBA 代码不包含影响所有属性和控件事件的示例。

如果必须为可以使用属性窗口以查看可用的控件的属性的列表。

若要查看的属性,列表在视图菜单上,单击属性窗口。

如何使用设计模式中编辑控件
当您使用Visual Basic 编辑器设计对话框时,您正在使用设计模式中。

在设计模式中,您可以编辑控件并可以更改在属性窗口中的用户窗体上控件的属性。

若要显示在视图菜单上的属性窗口,单击属性窗口。

注意当您在设计模式中时,控件不响应的事件。

您在运行一个对话框,用户可以看到它的方式将其显示时该程序处于运行模式。

从内存中卸载用户窗体时,在运行模式中控件的属性所做的更改将不会保留。

注意控件响应在运行模式中的事件。

如何在用户窗体上的控件,请参阅
您如何引用的控件以编程方式取决于您在其中运行代码的Visual Basic 模块工作表的类型。

如果从常规模块运行该代码,语法是下列:
UserFormName.Controlname.Property = Value
如果要将名为TextBox1王俊元的值名为UserForm1 用户窗体上的文本框控件的Text
属性设置,例如对于使用下面的代码:
UserForm1.TextBox1.Text = "Bob"
如果代码是通过控件的事件或用户窗体启动的过程中,您无需用户窗体的名称,请参阅。

而是,使用下面的代码:
TextBox1.Text = "Bob"
时将代码附加到对象中,代码附加到该对象的事件之一。

在很多本文示例中将代码附加到命令按钮对象的Click 事件。

回到顶端
标签控件
标签控件主要用于描述在用户窗体上的其他控件。

用户窗体运行时,不能由用户编辑标签控件。

若要设置或返回一个标签控件中的文本,请使用标题属性。

设置格式的Label 控件的其他常用的属性包括Font 属性并将前景色属性。

如何使用WITH 语句设置Label 控件的格式
要使用WITH 语句更改Label 控件的属性,请按照下列步骤,请执行以下操作:
启动Excel,然后打开一个新的空白工作簿。

在工具菜单上指向宏,然后单击Visual Basic 编辑器。

在插入菜单上单击用户窗体插入您的工作簿中的用户窗体。

向用户窗体中添加一个Label 控件。

向用户窗体中添加命令按钮控件。

双击命令按钮控件的用户窗体中打开代码窗口。

在代码窗口中键入下面的代码为CommandButton1 Click 事件:
Private Sub CommandButton1_Click()
With Label1
' Set the text of the label.
.Caption = "This is Label Example 1"
' Automatically size the label control.
.AutoSize = True
.WordWrap = False
' Set the font used by the Label control.
= "Times New Roman"
.Font.Size = 14
.Font.Bold = True
' Set the font color to blue.
.ForeColor = RGB(0, 0, 255)
End With
End Sub
在运行菜单上单击运行子过程/用户窗体。

单击命令按钮。

文本加粗黑体字体大小为14 中的标签控件"这是标签示例1"出现。

回到顶端
文本框控件
文本框控件经常用于收集用户的输入。

Text 属性将包含由TextBox 控件中的项。

如何使用验证密码TextBox 控件
如果您设置TextBox 控件的PasswordChar 属性,则它将成为"伪装的编辑"控件。

您指定的字符以可视方式将取代TextBox 控件中键入的每个字符。

要使用TextBox 控件验证密码,请按照下列步骤,请执行以下操作:
启动Excel,然后打开一个新的空白工作簿。

在工具菜单上指向宏,然后单击Visual Basic 编辑器。

在插入菜单上单击用户窗体插入您的工作簿中的用户窗体。

向用户窗体中添加文本框控件。

在视图菜单上单击属性,以使属性窗口可见。

在文本框控件PasswordChar 属性键入*。

注意您正将该值改为一个星号。

向用户窗体中添加命令按钮控件。

双击命令按钮控件的用户窗体中打开代码窗口。

在代码窗口中键入下面的代码为CommandButton1 Click 事件:
Private Sub CommandButton1_Click()
If TextBox1.Text <> "userform" Then
MsgBox "Password is Incorrect. Please reenter."
TextBox1.Text = ""
TextBox1.SetFocus
Else
MsgBox "Welcome!"
Unload Me
End If
End Sub
在运行菜单上单击运行子过程/用户窗体。

键入密码userformTextBox 控件中。

单击命令按钮控件。

此例如密码为"userform"。

如果您键入了不正确的密码,您将收到一个消息框,指出您的密码不正确、清除TextBox 控件,然后重新键入密码。

当您键入正确的密码时, 您会收到一个欢迎消息和用户窗体被关闭。

有关更多的信息请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:213555 (/kb/213555/ ) XL2000:无数据验证属性的用户窗体文本框
回到顶端
命令按钮控件
使用命令按钮控件,可以启动VBA 过程。

VBA 过程通常被附加到命令按钮控件的Click 事件。

若要将一个Click 事件发生时运行一个过程的命令按钮控件,请按照下列步骤操作:
启动Excel,然后打开一个新的空白工作簿。

在工具菜单上指向宏,然后单击Visual Basic 编辑器。

在插入菜单上单击用户窗体插入您的工作簿中的用户窗体。

向用户窗体中添加命令按钮控件。

双击要为用户窗体显示代码窗口的命令按钮控件。

在代码窗口中键入以下代码:
Private Sub CommandButton1_Click()
red = Int(Rnd * 255)
green = Int(Rnd * 255)
blue = Int(Rnd * 255)
CommandButton1.BackColor = RGB(red, green, blue)
End Sub
在运行菜单上单击运行子过程/用户窗体。

背景色的CommandButton1 控件更改每次单击它。

有关命令按钮控件的附加信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:
213572 (/kb/213572/ ) XL2000:单击取消按钮可能不关闭用户窗体
213743 (/kb/213743/ ) XL2000:如何在用户窗体上设置为默认命令按钮
回到顶端
列表框控件
列表框控件的用途是向用户显示要从选择的项的列表。

您可以将存储在Excel 工作表上的列表框控件的项列表。

若要填充列表框控件与单元格区域的工作表上,使用行来源属性。

您在使用MultiSelect 属性时可以接受多个选定内容设置列表框控件。

如何获取当前选定的项从列表框控件
使用列表框控件的Value 属性返回当前选定的项。

若要在单个选择列表框控件中返回当前选定的项,请按照下列步骤操作:
启动Excel,然后打开一个新的空白工作簿。

在单元格a1: a5 工作表Sheet1 上,键入想要使用来填充列表框控件的值。

在工具菜单上指向宏,然后单击Visual Basic 编辑器。

在插入菜单上单击用户窗体插入您的工作簿中的用户窗体。

向用户窗体中添加列表框控件。

双击列表框控件以显示列表框控件在代码窗口。

在代码窗口中键入下面的代码为ListBox1 Click 事件:
Private Sub ListBox1_Click()
MsgBox ListBox1.V alue
End Sub
在运行菜单上单击运行子过程/用户窗体。

当您单击列表中的某个项目时,当前选定的项将出现一个消息框。

如何获取多个选择列表框控件中的选定的项
若要确定在选择多个列表框控件中选定的项,您必须依次通过在列表中的所有项目,然后查询Selected 属性。

若要选择多个列表框控件中返回当前选定的项目,请按照下列步骤操作:
启动Excel,然后打开一个新的空白工作簿。

在单元格a1: a5 工作表Sheet1 上,键入想要使用来填充列表框控件的值。

在工具菜单上指向宏,然后单击Visual Basic 编辑器。

在插入菜单上单击用户窗体插入您的工作簿中的用户窗体。

向用户窗体中添加列表框控件。

在视图菜单上单击属性以显示的属性窗口。

键入表示为以下列表框控件属性的值:
Property Value
----------- -----------------------
MultiSelect 1 - frmMultiSelectMulti
RowSource Sheet1!A1:A8
向用户窗体中添加命令按钮控件。

双击要为用户窗体显示代码窗口的命令按钮控件。

在代码窗口中键入下面的代码为CommandButton1 Click 事件:
Sub CommandButton1_Click ()
' Loop through the items in the ListBox.
For x = 0 to ListBox1.ListCount - 1
' If the item is selected...
If ListBox1.Selected(x) = True Then
' display the Selected item.
MsgBox ListBox1.List(x)
End If
Next x
End Sub
在运行菜单上单击运行子过程/用户窗体。

在列表中选择一个或多个项目。

单击CommandButton1。

单击CommandButton1 后,您在列表框控件中选择的每个项目将出现在单独的消息框中。

在消息框中显示所有选定的项目后,用户窗体将自动关闭。

如何使用来填充列表框控件与单元格在工作表上的行来源属性
若要使用行来源属性来填充列表框控件中的单元格区域的工作表上,请按照下列步骤操作:
启动Excel,然后打开一个新的空白工作簿。

在单元格a1: a5 工作表Sheet1 上,键入想要使用来填充列表框控件的值。

在工具菜单上指向宏,然后单击Visual Basic 编辑器。

在插入菜单上单击用户窗体插入您的工作簿中的用户窗体。

向用户窗体中添加列表框控件。

向用户窗体中添加命令按钮控件。

双击要为用户窗体显示代码窗口的命令按钮控件。

在代码窗口中键入下面的代码为CommandButton1 Click 事件:
Private Sub CommandButton1_Click()
ListBox1.RowSource = "=Sheet1!A1:A5"
End Sub
在运行菜单上单击运行子过程/用户窗体。

注意ListBox1 不包含任何值。

单击CommandButton1。

ListBox1 将用在工作表Sheet1 上的单元格a1: a5 中值进行填充。

如何填充数组中的值与列表框控件
本示例显示如何填充列表框控件与一个数组变量。

您必须将数组中的值一次分配给列表框控件的一个项目中。

通常,此过程要求您使用如For…Next 循环的循环结构。

若要填充列表框控件与一个数组变量,请按照下列步骤操作:
启动Excel,然后打开一个新的空白工作簿。

在工具菜单上指向宏,然后单击Visual Basic 编辑器。

在插入菜单上单击用户窗体插入您的工作簿中的用户窗体。

向用户窗体中添加列表框控件。

在插入菜单上单击模块,插入模块工作表。

在代码窗口中键入以下代码:
Sub PopulateListBox()
Dim MyArray As Variant
Dim Ctr As Integer
MyArray = Array("Apples", "Oranges", "Peaches", "Bananas", "Pineapples")
For Ctr = LBound(MyArray) To UBound(MyArray)
UserForm1.ListBox1.AddItem MyArray(Ctr)
Next
UserForm1.Show
End Sub
在工具菜单上单击宏并单击PopulateListBox,然后单击运行。

PopulateListBox 过程生成一个简单的数组,然后在数组中将项目添加到列表框控件中,通过使用AddItem 方法。

然后,用户窗体将显示。

如何使用工作表上的水平单元格区域来填充列表框控件
如果将列表框控件的行来源属性设置为单元格的水平区域,只有第一个值将出现在列表框控件中。

通过使用AddItem 方法来填充列表框控件中的单元格的水平区域,请按照下列步骤操作:
启动Excel,然后打开一个新的空白工作簿。

在工作表Sheet1 上单元格A1:E1,键入想要使用来填充列表框控件的值。

在工具菜单上指向宏,然后单击Visual Basic 编辑器。

在插入菜单上单击用户窗体插入您的工作簿中的用户窗体。

向用户窗体中添加列表框控件。

在插入菜单上单击模块,插入模块工作表。

在代码窗口中键入以下代码:
Sub PopulateListWithHorizontalRange()
For Each x In Sheet1.Range("A1:E1")
UserForm1.ListBox1.AddItem x.Value
Next
UserForm1.Show
End Sub
在工具菜单上单击宏并单击PopulateListWithHorizontalRange,然后单击运行。

宏过程循环一次添加到ListBox1 之一的值的单元格A1:E5 sheet1。

注意ListBox1 不会绑定到的单元格A1:E5 工作表Sheet1 上。

如何从列表框控件所绑定到的数据的多个列中返回多个值
您可以设置要显示的数据的多个列的列表框控件的格式。

这意味着列表框控件列表的每一行上显示多个项目。

若要从列表中选定的项返回多个值,请按照下列步骤操作:
启动Excel,然后打开一个新的空白工作簿。

表示工作表Sheet1 上的单元格中键入以下数据:
收起该表格展开该表格
A1:年B1: 区域C1:销售
a2: 1996年B2: 北美c2: 140
a3: 1996年B3: 南c3: 210
a4:1997年B4: 北美c4: 190
a5: 1997年B5:南c5: 195
在工具菜单上指向宏,然后单击Visual Basic 编辑器。

在插入菜单上单击用户窗体插入您的工作簿中的用户窗体。

向用户窗体中添加一个Label 控件。

向用户窗体中添加列表框控件。

列表框中,用鼠标右键单击,然后单击属性。

键入或选择列表框控件的下列属性的指示,如列出下表中的值:
Property Value
----------------------------
BoundColumn 1
ColumnCount 3
ColumnHeads True
RowSource Sheet1!A2:A5
双击列表框控件以显示列表框控件在代码窗口。

在代码窗口中键入下面的代码:
Private Sub ListBox1_Change()
Dim SourceData As Range
Dim Val1 As String, Val2 As String, Val3 As String
Set SourceRange = Range(ListBox1.RowSource)
V al1 = ListBox1.V alue
V al2 = SourceRange.Offset(ListBox1.ListIndex, 1).Resize(1, 1).Value
V al3 = SourceRange.Offset(ListBox1.ListIndex, 2).Resize(1, 1).Value
Label1.Caption = Val1 & " " & Val2 & " " & Val3
End Sub
在运行菜单上单击运行子过程/用户窗体。

当您单击列表框控件中的项时,该标签将更改为该条目中显示所有这三个项目。

如何从列表框控件所绑定到工作表中删除所有项目
若要从列表框控件所绑定到工作表中删除所有项目,清除行来源属性中存储的值。

若要从列表框控件所绑定到工作表中删除项目,请按照下列步骤操作:
启动Excel,然后打开一个新的空白工作簿。

在单元格a1: a5 工作表Sheet1 上,键入想要使用来填充列表框控件的值。

在工具菜单上指向宏,然后单击Visual Basic 编辑器。

在插入菜单上单击用户窗体插入您的工作簿中的用户窗体。

向用户窗体中添加列表框控件。

用鼠标右键单击列表框控件,然后单击属性。

在行来源属性中键入Sheet1! a1: a5。

向用户窗体中添加命令按钮控件。

双击命令按钮控件以显示命令按钮控件在代码窗口。

在代码窗口中键入下面的代码为CommandButton1 Click 事件:
Private Sub CommandButton1_Click()
ListBox1.RowSource = ""
End Sub
在运行菜单上单击运行子过程/用户窗体。

您输入工作表Sheet1 上的值填充列表框控件添加到用户窗体。

单击CommandButton1。

从ListBox1 中删除所有项目。

如何删除未绑定到工作表的列表框控件的所有项目
没有从列表框控件中删除所有项目,如果列表不会绑定到工作表的单个VBA 命令。

若要删除从Visual Basic 数组填充列表框控件的所有项目,请按照下列步骤操作:
启动Excel,然后打开一个新的空白工作簿。

在工具菜单上指向宏,然后单击Visual Basic 编辑器。

在插入菜单上单击用户窗体插入您的工作簿中的用户窗体。

向用户窗体中添加列表框控件。

在插入菜单上单击模块,插入模块工作表。

在代码窗口中键入以下代码:
Sub PopulateListBox()
Dim MyArray As Variant
Dim Ctr As Integer
MyArray = Array("Apples", "Oranges", "Peaches", "Bananas", "Pineapples")
For Ctr = LBound(MyArray) To UBound(MyArray)
UserForm1.ListBox1.AddItem MyArray(Ctr)
Next
UserForm1.Show
End Sub
向用户窗体中添加命令按钮控件。

双击命令按钮控件以显示命令按钮控件在代码窗口。

在代码窗口中键入下面的代码为CommandButton1 Click 事件:
Private Sub CommandButton1_Click()
For i = 1 To ListBox1.ListCount
ListBox1.RemoveItem 0
Next I
End Sub
在工具菜单上单击宏并单击PopulateListBox,然后单击运行。

填充列表框控件,和用户窗体随即出现。

单击CommandButton1。

从ListBox1 中删除所有项目。

有关列表框控件的其他信息,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:
161598 (/kb/161598/ ) OFF:如何将数据添加到组合框或列表框,Excel 或Word 中
211446 (/kb/211446/ ) XL2000:TextColumn 属性显示仅在第一列
211896 (/kb/211896/ ) XL2000:如何模拟的用户窗体的组合列表编辑控件
211899 (/kb/211899/ ) XL2000:问题在列表框控件中设置列标题。

相关文档
最新文档