Все значения Listbox передать в макрос - VBA
Формулировка задачи:
У меня есть лист бокс
Me.list_box_1
с заполненными значениями : (отображаются на форме внутри Me.lst_box_1 )
-имя 1
-имя 2
-имя 3
Как мне все эти значения списком передать в другой макрос sub макрос_2 () чтобы над ним совершать действия как со списком?
не знаю что для этого нужно , может записать все значения из Me.lst_box_1 в переменную или массив а затем как то передать в другой макрос чтобы там перебирать элементы?
Нашел чем то похожее:
Но здесь элементы все в одну строку, мне нужен список, где можно каждый элементы вытаскивать поочередно , чтобы сравнивать со значением в другом макросе...
Пытаюсь также как то так , с помощью массива :
Но в Array_1 попадает только один элемент (его можно увидеть так)
Однако когда просим следующий , то фиг там
- ошибка
Решение задачи: «Все значения Listbox передать в макрос»
textual
Листинг программы
' Создаем массив, заполняем его элементами listbox Sub macros_1() 'создали пустой массив ar ar = Array() 'задали размер массива, равный количеству элементов в listbox ReDim ar(0 To Me.ListBox1.ListCount - 1) 'заполняем циклом значения из listbox в массив ar For i = 0 To Me.ListBox1.ListCount - 1 ar(i) = Me.ListBox1.List(i) Next i 'проверка - смотрим элементы по индексу MsgBox ar(1) 'запускаем макрос из другого модуля Application.Run "listbox_1" End Sub '<br> ' 'В другом модуле задаем массив как Public чтобы читать между модулями: Option Explicit Public ar As Variant '----------------------------------- Sub listbox_1() 'проверка - извлечем этот элемент по индексу MsgBox ar(1) End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д