Вместо выпадающего списка в поле списка лучше всего добавить флажки для множественного выбора.
Позвольте мне объяснить, как это сделать в Excel (большинство команд и методов Excel также применимы к Google Sheet).
Как это устроено:
- Нажмите вкладку « Разработчик», «Вставка», «Список» (из Active X Control).
- После того, как вы нарисуете список, щелкните его правой кнопкой мыши.
- Затем выберите Свойства из меню.
- Найдите ListFillRange и вставьте диапазон данных источника (A155: A164).
- Найдите поле ListStyle, выберите 1-fmList StyleOption.
- Затем выберите 1 – fmMultiSelectMulti в MultiSelect.
- Затем выберите любую указанную ячейку (E155), затем назовите ее как ListBoxOutput.
- Затем нажмите « Вставить, формы» и нарисуйте соответствующую (C155) фигуру над списком.
- Затем щелкните правой кнопкой мыши Shape и выберите Assign Macro (Rectangle2_Click) из меню.
Вставьте приведенный ниже код как модуль.
Sub Rectangle2_Click() Dim xSelShp As Shape, xSelLst As Variant, I As Integer Set xSelShp = ActiveSheet.Shapes(Application.Caller) Set xLstBox = ActiveSheet.ListBox1 If xLstBox.Visible = False Then xLstBox.Visible = True xSelShp.TextFrame2.TextRange.Characters.Text = "Click After Pickup Options" Else xLstBox.Visible = False xSelShp.TextFrame2.TextRange.Characters.Text = "Click To 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
- Щелкните «Форма», чтобы открыть окно «Список», выберите элементы и снова нажмите «Форма», чтобы поместить выбранные элементы в ячейку
E155
.
Обратите внимание, настройте ссылки на ячейки для списка элементов источника, поля списка, позиции формы и для ячейки вывода.