Флажок в раскрывающемся списке

Флажок в раскрывающемся списке

У меня есть таблица в Excel, где я могу выбрать несколько элементов из раскрывающегося списка в одной ячейке.

Теперь, используя мой макрос, мне приходится выбирать все варианты по отдельности, и они добавляются в ячейку один за другим.

Есть ли возможность написать макрос, который добавляет флажки в раскрывающийся список, чтобы я мог отметить нужные мне элементы, и они добавились бы одновременно?

решение1

Да, вы можете добавить форму списка и разрешить множественный выбор.Проверьте здесьдля поддержки MS.

VBA - проверкаэта ветка stackoverflow

решение2

Хорошо, я использовал этот код для Listbox:

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

Связанный контент