在excel 2010的下拉列表中创建复选框

在excel 2010的下拉列表中创建复选框,excel,excel-formula,excel-2010,vba,Excel,Excel Formula,Excel 2010,Vba,需要在excel 2010的下拉列表中创建复选框。已经尝试创建列表框并选择multiselectExtended选项,但这不符合我们的目的 所附的所需功能示例: 我认为唯一的方法是创建一个自定义对话框。我希望以下内容足够清楚,可以这样做 添加对话框: 添加一个列表框: 将数据添加到图纸并在列表框中引用: 将按钮添加到工作表: 在VBA中添加模块并添加以下代码: Public diag As Object 'the dialog box 'this code is assigned to

需要在excel 2010的下拉列表中创建复选框。已经尝试创建列表框并选择multiselectExtended选项,但这不符合我们的目的

所附的所需功能示例:


我认为唯一的方法是创建一个自定义对话框。我希望以下内容足够清楚,可以这样做

  • 添加对话框:

  • 添加一个列表框:

  • 将数据添加到图纸并在列表框中引用:

  • 将按钮添加到工作表:

  • 在VBA中添加模块并添加以下代码:

    Public diag As Object 'the dialog box
    
    'this code is assigned to the button on the sheet
    Sub Button3_Click()
        Set diag = DialogSheets("Dialog1") 'define the dialog box
        diag.Show 'sow the dialog box
    End Sub
    
    'to be assigned to the "OK" button in the dialog
    Sub Button2_Click()
    
        ' finds selected items
        Dim Msg As String, i As Integer
        Msg = ""
        With diag.ListBoxes("List Box 5")
            For i = 1 To .ListCount
                If .Selected(i) Then
                    Msg = Msg & .List(i) & ";"
                End If
            Next i
        End With
    
        'set the cell the values as needed
        Worksheets("Sheet1").Range("A1") = Msg
    End Sub
    
  • 解决了

    检查解决方案的链接

    您可以在图纸上添加活动表单列表框,并启用多选功能


    让我知道你的想法。

    我想有一个自定义表单,在单元格中有一个按钮来激活它。请详细说明。如果可以的话,那将非常棒!!需要多少?每张纸一张还是每行一张?可以对下面的内容进行调整,但我希望你能明白这一点:)@premshekhar请看@glh…..我想用下面的方法来做。如果你能告诉我如何实现。我已经尝试过你给出的解决方案,这很好,但它无法达到预期的目的。您可以添加x个复选框,然后在它们之间循环。如果您不介意的话,您可以共享您的邮件Id,我将发送,我希望excel中有什么样的外观和感觉。我相信@MSS的答案是您在完成工作后的答案。@Prem此解决方案将完全满足您的要求。检查一下。@MSS您的解决方案与我想要的完全相同,只需要一个额外的功能。“我们如何在同一个coulmn中的所有字段中重复相同的功能?”我的期望是:当用户单击同一coulmn中的任何字段时,他可以进行多重选择,并且该选择将在其他单元格中显示为输出。@MSS..非常感谢,伙计,我不确定如何在同一个coulmn下的所有单元格中实现相同的功能,我试图修改您的代码,但最终未能达到目标。@premshekhar只是为了清楚起见,您是否需要在表的每一行中放置类似的按钮,以便您可以选择所需的选项连接到同一行的不同字段?啊,我明白了,我在设计模式下查看它。无论如何,这是一篇很棒的帖子@MS