如何在Excel中创建多选列表框(简易步骤)

  • Share This
Hugh West

当我们在一个大数据集上工作时,往往很难从中获取任何选择性的价值。 此外,你不能同时选择多个信息。 在这种情况下。 列表框 是一个非常有用的解决方案,在 ǞǞǞ ......但在创建这个过程中 列表框 因此,在这篇文章中,我们将学习如何创建一个多选的 列表框 通过一些简单的步骤,在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 到一个临时范围,然后作为一个 行源 列表框 当用户打开 用户表格 .
  • 你可以将多个范围合并在一个名称中,以方便选择。

总结

今天就到此为止,我希望这些冗长但简单的步骤能让你了解如何 创建多选列表框 让我们在评论框中了解您的反馈。 关注 ǞǞǞ 获取更多类似的文章。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.