Table of contents
当我们在一个大数据集上工作时,往往很难从中获取任何选择性的价值。 此外,你不能同时选择多个信息。 在这种情况下。 列表框 是一个非常有用的解决方案,在 ǞǞǞ ......但在创建这个过程中 列表框 因此,在这篇文章中,我们将学习如何创建一个多选的 列表框 通过一些简单的步骤,在excel中实现。
下载实践工作手册
获取样本文件进行练习。
多选列表框.xlsm在Excel中创建多选列表框的分步程序
为了使这个过程更容易,我们把它分为 8 所以,不要再拖延了,让我们跳到下面的步骤,看看我们如何创建一个多选的 列表框 在Excel中。
第1步:从数据集创建Excel表
首先,我们需要准备一个样本数据集,并将其转换为表格。 要做到这一点,请遵循以下步骤。
- 首先,用以下信息创建一个数据集 10个城市名称 和他们的 总人口 的。 美国 直到 1、7月 在 细胞范围B5:C14 .
- 现在,点击数据集的任何单元格,选择 表 从 插入 标签。
- 然后,你会看到 创建表格 窗口,它自动选择单元格范围来创建一个表格。
- 在这个窗口中,标记选中 我的表格有标题 框,并按 认可 .
- 结果是,你会看到数据集被转换为一个表。
- 随之而来的是,你可以在表格中找到 表名 下的方框。 桌子设计 标签
- 你可以根据自己的喜好改变表的名称。
阅读更多。 如何在Excel中创建附属的下拉列表
第2步:从名称管理器命名数据集列表
现在,我们将为表格中的每一类单元格范围命名。 为此,请按以下步骤进行。
- 首先,从 B栏 在表格中。
- 然后,去到 公式 选项卡,并选择 定义名称 .
- 在这之后,你会看到 新名称 对话框。
- 在这个对话框中,根据选定的列标题提供任何名称,在 命名 箱子。
- 接下来,点击 指的是 在同一窗口中的方框。
- 然后,将光标放在页眉上,会显示一个黑色的箭头。
- 之后,按左键选择 细胞范围B5:B14 .
- 结果是,你将看到名字的列表以及表名在 指的是 框,并按 认可 .
- 按照同样的程序,对 细胞范围C5:C14 也是如此。
- 最后,你会看到在 名称框 在工作簿的左上角。
第3步:创建具有数据验证功能的下拉列表
在这个阶段,我们将从命名的范围中创建一个带有数据验证的下拉列表。 这是创建一个 列表框 我们将在工作簿中的另一个工作表中创建。 但你也可以在同一个工作表中这样做。 让我们看看下面的过程。
- 在开始时,从表中选择一些你想应用的单元格 数据验证 .
- 然后,去到 数据 选项卡,并选择 数据验证 在 数据工具 节。
- 接下来,在 设置 选项卡,选择 列表 在 允许 箱子。
- 同时,标记检查了 忽略空白 和 单元格内下拉 箱子。
- 之后,点击 来源 在这个窗口中的方框内,按 F3 在你的键盘上。
- 因此,你会看到 粘贴名称 含有名称列表的对话框。
- 在这里,选择 城市名称 从列表中选取一个,然后按 认可 .
- 然后,你会看到第一个列表的名字显示在源框中。
- 最后,按 认可 并对第二个名字列表应用同样的过程。
- 最后,你会看到 数据验证 在选定的单元格上激活。
第4步:将VBA代码插入到已验证的工作表中
现在是关键的部分,即插入 VBA 代码来创建一个 列表框 以下是这个过程。
- 首先,右键单击已验证的工作表,选择 查看代码 从 上下文菜单 .
- 然后,在页面上插入这段代码。
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rngDV As Range Dim oldVal As String Dim newVal As String Dim strList On Error Resume Next Application.EnableEvents = False Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation) On Error GoTo exitHandler If rngDV Is Nothing Then GoTo exitHandler If Not Intersect(Target, rngDV) Is Nothing Then If Target.Validation.Type = 3然后 strList = Target.Validation.Formula1 strList = Right(strList, Len(strList) - 1) strDVList = strList frmDVList.Show End If End If exitHandler: Application.EnableEvents = True End Sub
- 接下来,到 插入 选项卡,并选择 模块 .
- 在这一点上,工作簿名称必须在 项目对象 窗口。
- 然后,将该模块重命名为 样式设置(modSettings 并插入这段代码。
Option Explicit Global strDVList As String
感谢 背景情况 提供代码。
第5步:用列表框& 按钮创建用户表格
在这个阶段,我们将创建一个 用户表格 的工作簿,以及一个 列表框 和一些 命令按钮 要做到这一点,请遵循以下程序。
- 首先,选择工作簿中的 项目-VBAProject 窗口中的 视觉基础 编辑。
- 然后,去到 插入 选项卡,并选择 用户表格 .
- 因此,你会得到 用户表格 像这样的界面。
- 与此同时,你还将获得 工具箱 窗口。
- 从这里,拖动 列表框 到 用户表格 .
- 然后,在 列表框 你可以通过拖动盒子的边缘来调整大小。
- 接下来,拖动 键盘手按钮 两次到 用户表格 以及创建2个按钮进行操作。
- 最后,最后的输出看起来是这样的。
第6步:改变属性设置
在这一阶段,我们将在每个组件的属性中做一些改变。 列表框 .
- 在开始时,按 F4 关于 视觉基础 编辑器来打开 属性窗口 .
- 然后,选择 用户表格 并改变 命名 和 标题 它是这样的。
- 接下来,选择 列表框 并改变 命名 根据你的喜好。
- 此外,改变 列表样式 , 多重选择 和 特殊效果 如下图所示。
- 现在,选择第一个命令按钮,并在属性中做如下修改。
- 除此以外,也要编辑第二个命令按钮的属性。
第7步:将VBA代码应用于UserForm
在这个阶段,我们将应用 VBA 的每个组成部分的代码。 用户表格 让我们看看它是如何工作的。
- 首先,选择 用户表格 并前往 查看 选项卡,以选择 编码 .
- 然后,在空白页上插入这段代码。 它将自动运行,当 用户表格 被打开。
Private Sub UserForm_Initialize() Me.lstDV.RowSource = strDVList End Sub
- 在这之后,返回到 用户表格 点击 "界面",可以看到 宗旨 关于 查看 标签。
- 现在,按照这个过程插入这个代码,用于 认可 按钮。
Private Sub cmdOK_Click() Dim strSelItems As String Dim lCountList As Long Dim strSep As String Dim strAdd As String Dim bDup As Boolean On Error Resume Next strSep = ", " With Me.lstDV For lCountList = 0 To .ListCount - 1 If .Selected(lCountList) Then strAdd = .List(lCountList) Else strAdd = " " End If strSelItems = "" Then strSelItems = strAdd Else If strAdd " " Then strSelItems = strSelItems_ & strSep & strAdd End If End If Next lCountList End With ActiveCell If .Value "" Then .Value = ActiveCell.Value _ & strSep & strSelItems Else .Value = strSelItems End If End With Unload Me End Sub
- 同时,输入以下代码,用于 关闭 使用同样的过程,按 "按钮"。
Private Sub cmdClose_Click() Unload Me End Sub
- 最后,按 键盘 + S 来保存它并关闭窗口。
感谢 背景情况 帮助编写代码。
第8步:从ListBox多选
最后,我们已经成功创建了一个 列表框 要检查该代码是否有效,只需通过以下步骤。
- 首先,选择 细胞B5 在这里我们应用了 数据验证 .
- 就在这之后,一个 列表框 将弹出指令 从列表中选择项目 .
- 在这个窗口中,从列表中选择一个以上的名字。
- 然后,按 认可 .
- 最后,你已经成功地从多选了 列表框 并且每个名字之间用一个 逗号 ( , ).
需要记住的事情
- 命名的范围 将不会创建一个 数据验证 如果它们是作为单元格引用或带分隔符输入的,则为规则。
- ǞǞǞ 全局变量 被应用于两个 用户表格 和 工作表VBA 任何活动的单元格名称最初都是通过代码的。 strDVList 到一个临时范围,然后作为一个 行源 为 列表框 当用户打开 用户表格 .
- 你可以将多个范围合并在一个名称中,以方便选择。
总结
今天就到此为止,我希望这些冗长但简单的步骤能让你了解如何 创建多选列表框 让我们在评论框中了解您的反馈。 关注 ǞǞǞ 获取更多类似的文章。