下拉列表中的复选框

下拉列表中的复选框

我在 Excel 中有一个表格,我可以在一个单元格中的下拉列表中选择多个项目。

现在,我必须使用宏分别选择所有选项,然后将它们逐个添加到单元格中。

是否可以编写将复选框添加到下拉列表中的宏,这样我就可以检查要添加的项目,并且它们将同时添加?

答案1

是的,您可以添加表单列表框并允许多项选择。点击此处获得 MS 支持。

VBA-检查这个 stackoverflow 帖子

答案2

好的,我将这个代码用于列表框:

Dim lngItem As Long
Const strSep = ", " 'delimiter

Private Sub UserForm_Initialize()
With ListBox1
    .RowSource = "=Sheet1!A2:A12"
    For lngItem = 0 To ListBox1.ListCount - 1
        .Selected(lngItem) = InStr(1, strSep & ActiveCell.Value & strSep, strSep & .List(lngItem, 0) & strSep)
    Next lngItem
End With
End Sub

Private Sub CommandButton1_Click()
Dim strItems As String
With ListBox1
    For lngItem = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(lngItem) Then
            strItems = strItems & strSep & ListBox1.List(lngItem, 0)
        End If
    Next lngItem
End With
With ActiveCell
    .NumberFormat = "@"
    .Value = Replace(strItems, strSep, "", 1, 1)
End With
Unload Me
End Sub

这个用于选择列:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 3 Or Target.Row = 1 Then Exit Sub
UserForm1.Show
Cancel = True
End Sub

它运行得很好,但我想改变一件事。

目前,列表框在双击单元格后显示,是否可以将其改为只需单击一次?也可以将其更改为列表框始终显示在选定单元格下方吗?

答案3

如果你看一下附图,你就会知道这就是完美的解决方案。在列表框中使用复选框。

在此处输入图片描述

下载代码: http://www.vlsiip.com/exceltips.html

相关内容