Excel使用VBA窗体的教程.doc_第1页
Excel使用VBA窗体的教程.doc_第2页
Excel使用VBA窗体的教程.doc_第3页
Excel使用VBA窗体的教程.doc_第4页
Excel使用VBA窗体的教程.doc_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文部分如何更改用户窗体在 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 SubPrivate Sub UserForm_Initialize() Me.Caption = Events Events Events! Me.BackColor = RGB(10, 25, 100)End SubPrivate Sub UserForm_Resize() msg = Width: & Me.Width & Chr(10) & Height: & Me.Height MsgBox prompt:=msg, Title:=Resize EventEnd SubPrivate Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) msg = Now Unloading & Me.Caption MsgBox prompt:=msg, Title:=QueryClose EventEnd SubPrivate Sub UserForm_Terminate() msg = Now Unloading & Me.Caption MsgBox prompt:=msg, Title:=Terminate EventEnd 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 MeEnd SubPrivate Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) IF CloseMode = vbFormControlMenu Then Cancel = True Me.Caption = Click the CommandButton to close Me! End IfEnd 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. .Font.Name = Times New Roman .Font.Size = 14 .Font.Bold = True Set the font color to blue. .ForeColor = RGB(0, 0, 255) End WithEnd 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 IfEnd 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.ValueEnd 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:A5End Sub 在 运行 菜单上单击 运行子过程/用户窗体。注意ListBox1 不包含任何值。 单击 CommandButton1。ListBox1 将用在工作表 Sheet1 上的单元格 a1: a5 中值进行填充。 如何填充数组中的值与列表框控件本示例显示如何填充 列表框 控件与一个数组变量。您必须将数组中的值一次分配给 列表框 控件的一个项目中。通常,此过程要求您使用如 ForNext 循环的循环结构。若要填充 列表框 控件与一个数组变量,请按照下列步骤操作: 启动 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.ShowEnd 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.ShowEnd Sub在 工具 菜单上单击 宏 并单击 PopulateListWithHorizontalRange,然后单击 运行。宏过程循环一次添加到 ListBox1 之一的值的单元格 A1:E5 sheet1。注意ListBox1 不会绑定到的单元格 A1:E5 工作表 Sheet1 上。 如何从列表框控件所绑定到的数据的多个列中返回多个值您可以设置要显示的数据的多个列的 列表框 控件的格式。这意味着 列表框 控件列表的每一行上显示多个项目。若要从列表中选定的项返回多个值,请按照下列步骤操作: 启动 Excel,然后打开一个新的空白工作簿。 表示工作表 Sheet1 上的单元格中键入以下数据:收起该表格展开该表格A1: 年B1: 区域C1: 销售a2: 1996年B2: 北美c2: 140a3: 1996年B3: 南c3: 210a4: 1997年B4: 北美c4: 190a5: 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) Val1 = ListBox1.Value Val2 = SourceRange.Offset(ListBox1.ListIndex, 1).Resize(1, 1).Value Val3 = SourceRange.Offset(ListBox1.ListIndex, 2).Resize(1, 1).Value Label1.Caption = Val1 & & Val2 & & Val3End 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.ShowEnd Sub 向用户窗体中添加 命令按钮 控件。 双击 命令按钮 控件以显示 命令按钮 控件在代码窗口。 在代码窗口中键入下面的代码为 CommandButton1 Click 事件: Private Sub CommandButton1_Click() For i = 1 To ListBox1.ListCount ListBox1.RemoveItem 0 Next IEnd Sub在 工具 菜单上单击 宏 并单击 PopulateListBox,然后单击 运行。填充 列表框 控件,和用户窗体随即出现。 单击 CommandButton1。从 ListBox1 中删除所有项目。有关列表框控件的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 161598 (/kb/161598/ ) OFF: 如何将数据添加到组合框或列表框,Excel 或 Word 中 211446 (/kb/211446/ ) XL2000: TextColumn 属性显示仅在第一列 211896 (/kb/211896/ ) XL2000: 如何模拟的用户窗体的组合列表编辑控件 211899 (/kb/211899/ ) XL2000: 问题在列表框控件中设置列标题 213721 (/kb/213721/ ) XL2000: 如何从列表框或组合框中删除所有项目 213722 (/kb/213722/ ) XL2000: 如何使用 TextColumn 属性 213723 (/kb/213723/ ) XL2000: 如何从一个列表框中显示多个列的返回值 213746 (/kb/213746/ ) XL2000: 如何使用多个单元格区域来填充列表框控件 213748 (/kb/213748/ ) XL2000: 如何填充一个列表框基于另一个列表框 213752 (/kb/213752/ ) XL2000: 使用 AddItem 方法将行来源为数据绑定时导致错误 213756 (/kb/213756/ ) XL2000: 使用 RemoveItem 方法与列表框或组合框控件 213759 (/kb/213759/ ) XL2000: 如何确定列表框中选择了哪项 回到顶端组合框控件为一个下拉列表框或组合框中,您可以在列表中选择一个值,或键入一个新值,您可以使用 组合框 控件。样式 属性确定是否 组合框 控件都将作为一个下拉列表框或组合框。注意列表框 控件上一节中的所有示例还可都应用于 组合框 控件的如何获取在选择多个列表框控件中的所选的项目示例除外。 如何将新项添加到列表中,如果组合框控件没有绑定到工作表当您键入一个值,它已不在 组合框 控件中列表时, 您可能希望将新值添加到列表。若要将在新的值,如果 组合框 控件没有绑定到工作表,在 组合框 控件中键入,请按照下列步骤操作: 启动 Excel,然后打开一个新的空白工作簿。 在 工具 菜单上指向 宏,然后单击 Visual Basic 编辑器。 在 插入 菜单上单击 用户窗体 插入您的工作簿中的用户窗体。 向用户窗体中添加一个 组合框 控件。 在 插入 菜单上单击 模块,插入模块工作表。 在代码窗口中键入以下代码: Sub PopulateComboBox() Dim MyArray As Variant Dim Ctr As Integer MyArray = Array(Apples, Oranges, Peaches, Bananas, Pineapples) For Ctr = LBound(MyArray) To Ubound(MyArray) UserForm1.ComboBox1.AddItem MyArray(Ctr) Next UserForm1.Show End Sub向用户窗体中添加 命令按钮 控件。 双击 命令按钮 控件以显示 命令按钮 控件在代码窗口。 在代码窗口中键入下面的代码为 CommandButton1 Click 事件: Private Sub CommandButton1_Click() Dim listvar As Variant listvar = ComboBox1.List On Error Resume Next If the item is not found in the list. If IsError(WorksheetFunction.Match(ComboBox1.Value, listvar, 0) Then add the new value to the list. ComboBox1.AddItem ComboBox1.Value End If End Sub在 工具 菜单上单击 宏 并单击 PopulateListBox,然后单击 运行。填充 组合框 控件,和用户窗体随即出现。 在 组合框 控件中键入 Mangoes (或列表中已不存在的任何值)。 单击 Comm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论