如何在 Excel 中创建带多个复选框的下拉列表?


Excel 是一个用于组织和分析数据的强大工具,其最实用的功能之一是创建下拉列表。这些列表允许用户从预定义列表中选择一项,从而使数据输入更有效率和准确。但是,如果您希望允许用户从下拉列表中选择多项内容呢?这时,带有多个复选框的下拉列表就派上用场了。

在 Excel 中创建带有多个复选框的下拉列表可能有点棘手,但如果您希望使电子表格更友好,那么掌握这项技能非常有用。在本教程中,我们将逐步介绍如何在 Excel 中创建带有多个复选框的下拉列表,包括创建列表、添加复选框以及将复选框链接到列表。在本教程结束时,您将能够创建带有多个复选框的下拉列表,以简化数据输入过程并提高电子表格的效率。

创建带多个复选框的下拉列表

在这里,我们将首先插入一个 ActiveX 控件列表框,然后创建一个矩形,最后为其分配一个宏。让我们来看一个简单的过程,了解如何在 Excel 中创建带有多个复选框的下拉列表。

步骤 1

考虑一个 Excel 工作表,其中您有一个类似于下图的姓名列表。

首先,单击“开发工具”,然后单击“插入”,并绘制一个 ActiveX 控件列表框。

步骤 2

然后右键单击该框并选择“属性”。编辑以下内容:

对于“ListFillRange”框,输入您将在列表中显示的源区域。

对于“ListStyle”框,选择 1 - fmList StyleOption;

对于“MultiSelect”框,选择 1 – fmMultiSelectMulti;

步骤 3

然后单击一个空单元格,将其命名为 ListBoxOutPut,然后按 Enter 键。

步骤 4

现在单击“插入”,然后单击“形状”,并绘制一个如下所示的框。

步骤 5

现在右键单击该形状,选择“指定宏”,单击“新建”,并将代码替换为下面提到的代码。

代码

代码

Sub Rectangle1_Click()
Dim xSelShp As Shape, xSelLst As Variant, I, J As Integer
Dim xV As String
Set xSelShp = ActiveSheet.Shapes(Application.Caller)
Set xLstBox = ActiveSheet.ListBox1
If xLstBox.Visible = False Then
   xLstBox.Visible = True
   xSelShp.TextFrame2.TextRange.Characters.Text = "Pickup Options"
   xStr = ""
   xStr = Range("ListBoxOutput").Value
   If xStr <> "" Then
      xArr = Split(xStr, ";")
   For I = xLstBox.ListCount - 1 To 0 Step -1
      xV = xLstBox.List(I)
      For J = 0 To UBound(xArr)
         If xArr(J) = xV Then
            xLstBox.Selected(I) = True
            Exit For
            End If
      Next
   Next I
   End If
Else
   xLstBox.Visible = False
   xSelShp.TextFrame2.TextRange.Characters.Text = "Select Options"
   For I = xLstBox.ListCount - 1 To 0 Step -1
      If xLstBox.Selected(I) = True Then
      xSelLst = xLstBox.List(I) & ";" & xSelLst
      End If
   Next I
   If xSelLst <> "" Then
      Range("ListBoxOutput") = Mid(xSelLst, 1, Len(xSelLst) - 1)
   Else
      Range("ListBoxOutput") = ""
   End If
End If
End Sub

步骤 6

然后将工作表另存为启用宏的模板,并关闭 VBA 应用程序。

输出将类似于下图。

结论

在本教程中,我们使用了一个简单的示例来演示如何在 Excel 中创建带有多个复选框的下拉列表,以突出显示特定数据集。

更新于: 2023-07-13

8K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告