SetoFF 0 / 0 / 0 Регистрация: 07.12.2011 Сообщений: 3 |
||||
1 |
||||
07.12.2011, 08:40. Показов 23615. Ответов 7 Метки нет (Все метки)
Скажите пожалуйста, что нужно добавить, чтобы из ListBox’а выделенные строки удалялись?
0 |
Казанский 15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
||||
07.12.2011, 10:24 |
2 |
|||
Ну если AddItem — «добавить элемент», то как будет «удалить элемент»?
При этом цикл лучше пустить в обратную сторону, т.к. при удалении i-го элемента i-тым становится следующий элемент.
1 |
0 / 0 / 0 Регистрация: 07.12.2011 Сообщений: 3 |
|
12.12.2011, 14:55 [ТС] |
3 |
Что-то у меня не пашет… Можете полностью написать как должно быть?
0 |
Казанский 15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
||||
12.12.2011, 15:33 |
4 |
|||
2 |
0 / 0 / 0 Регистрация: 06.04.2015 Сообщений: 27 |
|
06.04.2015, 16:52 |
5 |
А как сделать так, чтобы при удалении из листбокса, удалялась строка в таблице?
0 |
1337 / 308 / 74 Регистрация: 13.11.2008 Сообщений: 635 |
|
06.04.2015, 16:55 |
6 |
Для этого изначально надо понимать как эта строка в ListBox попадает. И как её правильно отнести именно к нужной строке, чтобы не удалять то, чего удалять не надо.
0 |
1 / 1 / 0 Регистрация: 05.07.2015 Сообщений: 42 |
|
21.12.2015, 20:56 |
7 |
Скажите пожалуйста!
0 |
15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
|
21.12.2015, 22:48 |
8 |
Antontth, ListBox1.ListIndex
1 |
Nickname_82 Пользователь Сообщений: 35 |
#1 09.02.2017 16:41:11 Добрый день!
не подойдет. А решения проблемы так и не нашел. <#0> |
||
Karataev Пользователь Сообщений: 2306 |
Заполняйте ListBox с помощью AddItem или List. Думаю, что в интернете можно найти информацию. |
Logistic Пользователь Сообщений: 741 |
|
Nickname_82 Пользователь Сообщений: 35 |
#4 13.02.2017 23:03:43
Добрый вечер! Прикрепленные файлы
<#0> |
||
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
Файл не смотрел… Но, если используете RowSource, то и удалять значение нужно на листе из этого диапазона. |
Sanja Пользователь Сообщений: 14838 |
А что такое ListWorkers? Согласие есть продукт при полном непротивлении сторон. |
Sanja Пользователь Сообщений: 14838 |
#7 13.02.2017 23:14:28 Ну а пока разбираетесь…
Изменено: Sanja — 13.02.2017 23:32:05 Согласие есть продукт при полном непротивлении сторон. |
||
Dima S Пользователь Сообщений: 2063 |
Nickname_82 как вам такой вариант? |
RAN Пользователь Сообщений: 7091 |
#9 13.02.2017 23:46:45
Изменено: RAN — 14.02.2017 00:11:14 |
||
Logistic Пользователь Сообщений: 741 |
Sanja,Ваш код выдает ошибку :»Application-defined or object-defined error» Изменено: Logistic — 13.02.2017 23:57:20 |
Проблема не в удалении значения из списка. Logistic здорово помог. Удаляется только значение, а не строка целиком. Как и это и есть в примере Изменено: Nickname_82 — 14.02.2017 11:59:30 |
|
Dima S Пользователь Сообщений: 2063 |
#12 14.02.2017 16:13:59
в листбокса есть свойство ColumnCount, которое отвечает за количество отображаемых столбцов. а на счет
достаточно изменить строку
на
|
||||||||
Nickname_82 Пользователь Сообщений: 35 |
#13 14.02.2017 22:06:24 Dima S
Спасибо Вам большое за Ваше активное участие в написании кода, а также за то, что помогли с отображением значений в ListBox. Logistic предложил лучше код, т.к. после удаления значения из списка отсутствие пустых строк больше радует глаз. <#0> |
«VBA Excel ListBox Multiselect»
Привязка диапазона данных к ListBox.
Добавление, удаление пунктов списка.
Сортировка списка и множественный выбор элементов.
ListBox или «окно со списком» – это один из элементов управления,
который может быть расположен на форме для предоставления пользователю возможности выбора одного
или нескольких элементов (пунктов) из предоставленного множества (списка) вариантов …
VBA предоставляет две возможности заполнения списка ListBox…
- Через свойство RowSource (источник строк) в список загружается определенный диапазон (колонка ячеек).
В этом случае добавление новых пунктов в список или удаление существующих из списка в процессе выполнения
макросов VBA не возможно… (по крайней мере, до момента присвоения свойству RowSource значения пустой строки). - Через методы AddItem и RemoteItem (добавление или удаление пунктов списка)…
Повторю, что для такой возможности, свойство RowSource должно иметь пустое значение.
Задание:
Разместить на форме несколько радиокнопок, позволяющих загружать в элемент ListBox1 списки из разных
колонок листа Excel.
Обеспечить возможность сортировки загруженных списков в ListBox1.
Обеспечить возможность множественного выбора элементов из списка и вывод результата выбора в окно сообщений MsgBox.
Решение:
Привязка к списку диапазона значений через свойство RowSource
Считаю, что для удобства реальной работы со списками на листах Excel (добавление новых значений
в ячейки соответствующих колонок или удаление существующих) необходимо использовать функцию
для автоматического определения номера последней заполненной строки в указанном столбце…
Метод Find объектов класса Range (рекомендую заглянуть в его справку) очень помогает в этом вопросе….
И так, функция может выглядеть, например, следующим образом….
Function GetLastRowFromColumn(numColumn As Integer) As Integer
GetLastRowFromColumn = Columns(numColumn).Cells.Find("*", , , , xlByRows, xlPrevious).Row
End Function
Как видите, единственным параметром она получает номер колонки (правда, для простоты
я оставил всего один лист в книге, а иначе бы лист тоже пришлось бы указать как параметр),
а возвращает номер строки той ячейки, которую вернул метод Find…
Тогда обработчики событий щелчков мышью по радиокнопкам будут выглядеть так…
Private Sub OptionButton1_Click()
lastrow = GetLastRowFromColumn(1)
If OptionButton1 Then Me.ListBox1.RowSource = "=A1:A" & lastrow
End Sub
Private Sub OptionButton2_Click()
lastrow = GetLastRowFromColumn(2)
If OptionButton2 Then Me.ListBox1.RowSource = "=B1:B" & lastrow
End Sub
Private Sub OptionButton3_Click()
lastrow = GetLastRowFromColumn(3)
If OptionButton3 Then Me.ListBox1.RowSource = "=C1:C" & lastrow
End Sub
Можно было бы и еще упростить (до одной строки в процедуре),
Me.ListBox1.RowSource = "=A1:A" & GetLastRowFromColumn(1)
но считаю, что наличие переменной lastrow помогает просматривать ее значение при отладке,
а это сэкономленное время…. которое дороже, чем уменьшение объема кода…
В общем, первая радиокнопка помещает в список диапазон из колонки А (используя свойство RowSource), а вторая и третья, соответственно, из колонок В и С…
Множественный выбор
Основное свойство элемента ListBox – это List… индексированный список значений… (As Variant)
Поэтому к любому элементу списка можно обратиться по индексу… ,например List(idx)…
И так же важно второе индексированное свойство Selected(idx), которое представляет собой
массив логических величин, показывающий, выделен ли конкретный элемент списка пользователем или нет…
Таким образом, обработчик кнопки «Сообщение» выглядит так…
Private Sub CommandButton1_Click()
Dim n As Integer, s As String
s = ""
For n = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(n) Then
s = s & Me.ListBox1.List(n) & vbLf
End If
Next n
If s = "" Then
MsgBox "Нет выбранных пунктов", 0, "Выбранные пункты списка"
Else
MsgBox s, 0, "Выбранные пункты списка"
End If
End Sub
Он формирует строку s , только из выделенных пунктов списка и выводит соответствующее сообщение…
Встроенная константа vbLf означает переход на новую строку…
Сортировка списка
А вот для сортировки списка нам придется отказаться от свойства RowSource ,
т.к. изменение порядка элементов списка будет противоречить привязанному диапазону.
VBA справедливо заругается…
Вот процедура сортировки объекта ListBox (который передается в виде параметра As Object)
Sub mySort(aL As Object)
Dim locList() As Variant, siz As Long
'Сортирует список ListBox (свойство .List - как массив Variant)
Dim j As Long
siz = UBound(aL.List)
ReDim locList(UBound(aL.List))
With aL
For j = 0 To siz
locList(j) = .List(j)
Next j
.RowSource = ""
.Clear
mySortArray locList
For j = 0 To siz
.AddItem (locList(j))
Next j
End With
End Sub
Как видите, сначала создаем массив locList() нужной размерности и заполняем его элементами списка…
Затем отвязываем список от диапазона (aL.RowSource = «») и очищаем его (aL.Clear) …
А полученный массив сортируем обычным образом (любым из алгоритмов сортировки).
Все!!! Осталось загрузить отсортированный массив в список, используя метод AddItem, конечно же, в цикле…
Для возможности множественного выбора элементов списка, не забудьте задать свойство
ListBox1.MultiSelect = fmMultiSelectMulti
…
…
Все…
Условия получения кода? Показать?
Другие примеры на тему «Автоматизация документов Microsoft Office Excel, Word, Access»
Другие примеры на языке «Visual Basic»
Если на этой странице не нашлось того, что Вы так искали…
Не расстраивайтесь, не все потеряно… Смело щелкайте…
телефон:
+7(919) 572-59-92
+7(987) 848-79-61
Содержание
- Listbox vba excel методы
- Объект ListBox (Outlook Forms Script)
- Замечания
- Стили элемента ListBox
- События
- Методы
- Свойства
- Поддержка и обратная связь
- Объект ListBox (Access)
- Замечания
- Пример
- События
- Методы
- Свойства
- См. также
- Поддержка и обратная связь
Listbox vba excel методы
На этом шаге мы рассмотрим назначение, основные свойства и методы этого элемента .
Элемент управления ListBox (Список) создается с помощью кнопки Список (ListBox) (рисунок 1).
Рис.1. Список в форме
Элемент управления ListBox применяется для хранения списка значений. Из списка пользователь может выбрать одно или несколько значений, которые в последующем будут использоваться в тексте программы.
Приведем наиболее часто используемые свойства элемента управления ListBox .
Свойство | Назначение |
---|---|
ListIndex | Возвращает номер текущего элемента списка. Нумерация элементов списка начинается с нуля |
ListCount | Возвращает число элементов списка |
TopIndex | Возвращает элемент списка с наибольшим номером |
ColumnCount | Устанавливает число столбцов в списке |
TextColumn | Устанавливает столбец в списке, элемент которого возвращается свойством Text |
Enabled | Допустимые значения: True (запрещен выбор значения из списка пользователем) и False (в противном случае) |
Text | Возвращает выбранный в списке элемент |
List | Возвращает элемент списка, стоящий на пересечении указанных строки и столбца. Синтаксис: |
RowSource | Устанавливает диапазон, содержащий элементы списка |
ControlSource | Устанавливает диапазон (ячейку), куда возвращается выбранный элемент из списка |
MultiSelect | Устанавливает способ выбора элементов списка. Допустимые значения:
|
Selected | Допустимые значения: True (если элемент списка выбран) и False (в противном случае). Используется для определения выделенного текста, когда свойство MultiSelect имеет значение fmMultiSelectMulti или fmMultiSelectExtended . |
ColumnWidths | Устанавливает ширину столбцов списка. Синтаксис: |
ColumnHeads | Допустимые значения: True (выводятся заголовки столбцов раскрывающегося списка) и False (в противном случае) |
ListStyle | Допустимые значения:
|
MatchEntry | Выводит первый подходящий элемент из списка при наборе его имени на клавиатуре. Допустимые значения:
|
BoundColumn | Устанавливает тип, возвращаемый свойством Value . А именно,
|
Таблица 1. Основные свойства ListBox
Приведем наиболее часто используемые методы элемента управления ListBox .
Метод | Назначение |
---|---|
Clear | Удаляет все элементы из списка |
RemoveItem | Удаляет из списка элемент с указанным номером. Синтаксис:
Параметр index определяет номер удаляемого из списка элемента |
AddItem | Добавляет элемент в список. Синтаксис:
|
Таблица 2. Основные методы ListBox
На следующем шаге мы рассмотрим особености заполнения списка .
Источник
Объект ListBox (Outlook Forms Script)
Отображает список значений и позволяет выбирать одно или несколько значений.
Замечания
Если элемент ListBox привязан к источнику данных, элемент ListBox сохраняет выбранное значение в этом источнике данных.
ListBox может отображаться в виде списка или группы элементов управления OptionButton или CheckBox.
Свойством по умолчанию для ListBox является свойство Value .
Событием по умолчанию для ListBox является событие Click .
В раскрывающийся элемент ListBox невозможно поместить текст.
Стили элемента ListBox
Вы можете выбрать любой из двух стилей представления элемента ListBox. Это выражается свойством ListStyle . Каждый из них реализует собственный способ выбора элементов в списке.
Если стиль равен 0, каждый элемент находится в отдельной строке; пользователь выбирает элемент, выделяя одну или несколько строк.
Если стиль равен 1, в начале каждой строки отображается optionButton или CheckBox . В этом случае для выбора элемента пользователь нажимает кнопку или устанавливает флажок. Флажки отображаются только в том случае, если свойство MultiSelect имеет значение True.
События
Имя | Описание |
---|---|
Click | Происходит, когда пользователь окончательно выбирает для элемента управления значение, которое содержит несколько возможных значений. |
Методы
Имя | Описание |
---|---|
AddItem | Для элемента ListBox с одним столбцом метод AddItem добавляет элемент в список. Для многоколоний ListBox этот метод добавляет строку в список. |
Clear | Удаляет все записи в списке в ListBox. |
RemoveItem | Удаляет строку из списка в ListBox. |
Свойства
Имя | Описание |
---|---|
BackColor | Возвращает или задает значение Long , указывающее цвет фона объекта . Для чтения и записи. |
BorderColor | Возвращает или задает значение Long , указывающее цвет границы объекта. Для чтения и записи. |
BorderStyle | Возвращает или задает целое число , указывающее тип границы элемента управления. Для чтения и записи. |
BoundColumn | Возвращает или задает значение Variant , определяющее источник данных в многоколоний ListBox. Для чтения и записи. |
Столбец | Возвращает или задает значение Variant , представляющее одно значение, столбец значений или двумерный массив для загрузки в ListBox. Для чтения и записи. |
ColumnCount | Возвращает или задает значение Long , представляющее количество столбцов, отображаемых в списке. Для чтения и записи. |
ColumnHeads | Возвращает или задает логическое значение, указывающее, отображается ли одна строка заголовков столбцов. Для чтения и записи. |
ColumnWidths | Возвращает или задает значение String , указывающее ширину каждого столбца в многоколоний ListBox. Для чтения и записи. |
Enabled | Возвращает или задает логическое значение, указывающее, может ли элемент управления получать фокус и реагировать на события, созданные пользователем. Для чтения и записи. |
ForeColor | Возвращает или задает значение Long , указывающее цвет переднего плана объекта. Для чтения и записи. |
IMEMode | Возвращает или задает целое число , указывающее режим времени выполнения по умолчанию редактора метода ввода (IME) для элемента управления. Для чтения и записи. |
IntegralHeight | Возвращает или задает логическое значение, указывающее, отображает ли ListBox полные строки текста в списке или частичные строки. Для чтения и записи. |
List | Возвращает или задает значение Variant , представляющее указанную запись в ListBox. Для чтения и записи. |
ListCount | Возвращает значение Long , представляющее количество записей списка в элементе управления . Только для чтения. |
ListIndex | Возвращает или задает значение Variant , представляющее текущий выбранный элемент в элементе ListBox. Для чтения и записи. |
ListStyle | Возвращает или задает целое число , указывающее визуальный вид списка в ListBox. Для чтения и записи. |
Locked | Возвращает или задает логическое значение, указывающее, можно ли изменять элемент управления. Для чтения и записи. |
MatchEntry | Возвращает или задает целое число , указывающее, как ListBox выполняет поиск в списке по типу пользователя. Для чтения и записи. |
MouseIcon | Возвращает значение String , представляющее полное имя пути настраиваемого значка, назначаемого элементу управления. Только для чтения. |
MousePointer | Возвращает или задает целое число , указывающее тип указателя, отображаемого при наведении указателя мыши на определенный объект. Для чтения и записи. |
MultiSelect | Возвращает или задает целое число , указывающее, допускает ли объект несколько выделений. Для чтения и записи. |
Selected | Возвращает или задает логическое значение, указывающее состояние выделения элементов в ListBox. Для чтения и записи. |
SpecialEffect | Возвращает или задает целое число , указывающее внешний вид объекта. Для чтения и записи. |
Текст | Возвращает или задает строку, указывающую текст в элементе ListBox, изменяя выбранную строку в элементе управления . Для чтения и записи. |
TextAlign | Возвращает или задает целое число , указывающее способ выравнивания текста в элементе управления . Для чтения и записи. |
TextColumn | Возвращает или задает значение Variant , которое идентифицирует столбец в элементе ListBox для отображения пользователю. Для чтения и записи. |
TopIndex | Возвращает или задает значение Long , представляющее индекс элемента списка, отображаемого в верхней позиции списка. Для чтения и записи. |
Value (Значение) | Возвращает или задает значение Variant , указывающее значение в BoundColumn выбранных строк. Для чтения и записи. |
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
Объект ListBox (Access)
Этот объект соответствует элементу управления list box. В элементе управления «Поле списка» отображается список значений или альтернатив.
Замечания
Управление | Средство |
---|---|
Во многих случаях быстрее и проще выбрать значение из списка, чем запоминать значение для ввода. Список вариантов также помогает убедиться, что значение, введенное в поле, является правильным.
Список в списке состоит из строк данных. Строки могут содержать один или несколько столбцов, которые могут отображаться с заголовками или без них, как показано на следующей схеме.
Если поле списка с несколькими столбцами привязано, Microsoft Access сохраняет значения из одного из столбцов.
Используйте поле списка без привязки, чтобы сохранить значение, которое можно использовать с другим элементом управления. Например, можно использовать список без привязки, чтобы ограничить значения в другом списке или в настраиваемом диалоговом окне. Вы также можете использовать поле списка без привязки, чтобы найти запись на основе значения, выбранного в списке.
Если в форме нет места для отображения списка или вы хотите иметь возможность вводить новые значения, а также выбирать значения из списка, используйте поле со списком вместо списка.
Пример
В этом примере показано, как фильтровать содержимое поля списка при вводе в текстовое поле.
В этом примере в списке с именем ColorID отображается список цветов, хранящихся в таблице Colors . При вводе в текстовое поле FilterBy элементы в ColorID фильтруются динамически.
Для этого используйте событие Change текстового поля, чтобы создать инструкцию SQL, которая будет служить в качестве нового RowSource в списке.
События
Методы
Свойства
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
I need to remove items from a Listbox using data from Range under certain conditions. I don’t want to delete data in the Worksheet the Listbox is based on.
Here is an excerpt of my code:
Me.LstWSource.RowSource = ""
If Len(rRange.Offset(1, 0).Formula) > 0 Then
Set rRange = ThisWorkbook.Sheets(G_sNameReferenceS).Range(rRange.Offset(1, 0), rRange.End(xlDown))
With Me.LstWSource
.ColumnWidths = "28pt"
.RowSource = rRange.Address
.ListIndex = -1
End With '>>>
End If
'>>>>>>>>>>>>>>>>>>>>>>>>
sRet = fG_SortingBasicS("lstYear", "DESC")
'>>>>>>>>>>>>>>>>>>>>>>>>
For i = Me.LstWSource.ListCount - 1 To 0 Step -1
'>> current string condition to delete Item <<
If Me.LstWSource.List(i) > CStr(Year(G_datJourTraitee)) Then
Me.LstWSource.RemoveItem (i)
End If
Next i
The error is triggered by the RemoveItem.
asked Nov 30, 2018 at 8:50
If you use .RowSource
to fill your ListBox you cannot remove list items from the list.
Therefore you need to fill your list using LstWSource.AddItem
. Loop through your range and add each item to your ListBox based on your criteria. Also see Adding items in a Listbox with multiple columns.
answered Nov 30, 2018 at 8:59
PᴇʜPᴇʜ
56k9 gold badges49 silver badges73 bronze badges
2
For additional information and bring my definite solution related to slowing populating : I used once the read of Range cells to populate a dynamic array. Then, I use this array to exclude or include lines in another second array.
These are lines to be considered :
J = 1
For i = LBound(G_varListYears) To UBound(G_varListYears)
If G_varListYears(i) <= CStr(Year(G_datJourTraitee)) Then
'>>>
ReDim Preserve vListTMP(J)
vListTMP(J) = G_varListYears(i)
J = J + 1
'>>
ElseIf (Me.chkNextYear = True) And ((Month(G_datJourTraitee) = 11 Or Month(G_datJourTraitee) = 12) And (G_varListYears(i) = CStr(Year(G_datJourTraitee) + 1))) Then
'>>>
ReDim Preserve vListTMP(J)
vListTMP(J) = G_varListYears(i)
J = J + 1
'>>
Else
'>>
End If
Next i
With Me.LstWSource
.ColumnWidths = "28pt"
.List = vListTMP()
.ListIndex = -1
End With '>>>
Hope it’ll help too.
answered Nov 30, 2018 at 16:04
I have a listbox that shows up the rows of an excel sheet i need to add a delete button to delete the selected row. i tried this
Private Sub CommandButton3_Click()
Dim i As Integer
For i = 0 To Range("A65356").End(xlUp).Row - 1
If lstDisplay.Selected(i) Then
Rows(i).Select
Selection.Delete
End If
Next i
End Sub
but when i try to delete for example the the row 10 it’s the 9 that gets deleted it always delets the line before the one selected
any fix ???
Thanks everyone
BigBen
43.9k6 gold badges27 silver badges40 bronze badges
asked Sep 18, 2019 at 12:47
2
I’ll have to test this myself, but I guess something along the lines of:
Private Sub CommandButton3_Click()
Dim i As Long, rng As Range
With Me.lstDisplay
For i = 0 To .ListCount - 1
If .Selected(i) Then
If Not rng Is Nothing Then
Set rng = Union(rng, Sheets("Sheet1").Rows(i + 1))
Else
Set rng = Sheets("Sheet1").Rows(i + 1)
End If
End If
Next i
End With
rng.EntireRow.Delete
End Sub
That way you’ll only have to perform deleting rows once.
Btw, I anticipated a multiselect listbox. If it’s not a multiselect it would simplify the code as there is no need to loop the listbox.
answered Sep 18, 2019 at 13:08
JvdVJvdV
66.6k8 gold badges38 silver badges68 bronze badges
I would suggest you this :
Private Sub CommandButton3_Click()
Dim i As Integer
For i = 1 To Range("A65356").End(xlUp).Row - 1
If lstDisplay.Selected(i) Then
Rows(i).Delete
i = i - 1
End If
Next i
End Sub
Also Note that Rows(i).Delete
is exactly the same as Rows(i).Select Selection.Delete
Excepted that Select
should be avoided as much as possible
As said @BigBen :
You can use the «Option Base 1» declaration at the top of a code module to change the default lower bound to 1 instead of 0.
For exemple :
Option Base 1
Dim arValues(10) As String 'contains 10 items (not 11)
Option Base Doc Here
answered Sep 18, 2019 at 12:57
TourEiffelTourEiffel
3,9512 gold badges16 silver badges42 bronze badges
6
У меня есть список, не связанный ни с одним диапазоном.
Я хочу нажать на строку и удалить ее. Если я перейду через код ниже, ListBox1_Click()
функция почему-то вызывается дважды по какой-то причине, и приложение выдает «неопределенную ошибку» при втором запуске
Весь мой код:
Private Sub ListBox1_Click()
ListBox1.RemoveItem (ListBox1.ListIndex)
End Sub
Private Sub UserForm_Initialize()
For i = 0 To 10
ListBox1.AddItem ("A" & Str(i))
Next i
End Sub
2018-02-26 16:54
1
ответ
Если вы сделаете кнопку об этом, тогда это решение будет вполне приемлемо:
Private Sub CommandButton1_Click()
Dim cnt As Long
For cnt = Me.ListBox1.ListCount - 1 To 0 Step -1
If Me.ListBox1.Selected(cnt) Then
Me.ListBox1.RemoveItem cnt
Exit Sub
End If
Next cnt
End Sub
2018-02-26 17:15
Другие вопросы по тегам
vba