Получить данные из столбца "ListBox" можно только с помощью цикла.
В "ListBox" есть "List", который в зависимости от ситуации ведёт себя по-разному:
List можно сравнить с ячейкой в Excel-листе;
List - это вся таблица в "ListBox".
С помощью "List" можно делать следующее:
брать данные из одной ячейки "ListBox";
помещать полностью таблицу в "ListBox";
помещать всю таблицу из "ListBox" в VBA-массив.
[vba]
Код
Private Sub CommandButton2_Click()
Dim i As Long
'Me - использую для удобства написания кода: 'когда ставим точку, то появляется список, из которого 'можно выбирать, а не печатать вручную. 'Me - это место, где находится этот код. 'ListCount - это количество строк в "ListBox". 'i = 0, т.к. нумерация строк и столбцов начинается с нуля в "ListBox" '(видимо профессиональным программистам удобнее с нуля считать предметы). 'ListCount - 1 - т.к. порядковый номер последней строки не будет 'совпадать с количеством строк. For i = 0 To Me.ListBox1.ListCount - 1 Step 1
'Берём данные из первого столбца. 'Вывод результата в View - Immediate Window. Debug.Print Me.ListBox1.List(i, 0)
Next i
End Sub
[/vba]
[vba]
Код
Private Sub CommandButton2_Click()
'У VBA-массива тип данных должен быть "Variant". Dim myArray() As Variant
'Помещаем в VBA-массив "myVariant" всю таблицу из "ListBox". myArray() = Me.ListBox1.List
'Выводим в View - Immediate Window данные из 'элемента VBA-массива "myVariant". 'Берём данные из элемента, который находится 'в первой строке и первом столбце. Debug.Print myArray(0, 0)
End Sub
[/vba]
Примечание
В "ListBox" есть ещё "Column", но с помощью него можно сделать то же самое, что и с помощью "List". Отличие между "Column" и "List":
обращение к ячейке с помощью "List": List(строка, столбец) обращение к ячейке с помощью "Column": Column(столбец, строка)
при помещение таблицы в "ListBox" с помощью "Column" и при взятии таблицы из "ListBox" с помощью "Column" происходит транспонирование таблицы - таблица переворачивается. При использовании "List" таблица остаётся такой же, как мы видим на мониторе.
Получить данные из столбца "ListBox" можно только с помощью цикла.
В "ListBox" есть "List", который в зависимости от ситуации ведёт себя по-разному:
List можно сравнить с ячейкой в Excel-листе;
List - это вся таблица в "ListBox".
С помощью "List" можно делать следующее:
брать данные из одной ячейки "ListBox";
помещать полностью таблицу в "ListBox";
помещать всю таблицу из "ListBox" в VBA-массив.
[vba]
Код
Private Sub CommandButton2_Click()
Dim i As Long
'Me - использую для удобства написания кода: 'когда ставим точку, то появляется список, из которого 'можно выбирать, а не печатать вручную. 'Me - это место, где находится этот код. 'ListCount - это количество строк в "ListBox". 'i = 0, т.к. нумерация строк и столбцов начинается с нуля в "ListBox" '(видимо профессиональным программистам удобнее с нуля считать предметы). 'ListCount - 1 - т.к. порядковый номер последней строки не будет 'совпадать с количеством строк. For i = 0 To Me.ListBox1.ListCount - 1 Step 1
'Берём данные из первого столбца. 'Вывод результата в View - Immediate Window. Debug.Print Me.ListBox1.List(i, 0)
Next i
End Sub
[/vba]
[vba]
Код
Private Sub CommandButton2_Click()
'У VBA-массива тип данных должен быть "Variant". Dim myArray() As Variant
'Помещаем в VBA-массив "myVariant" всю таблицу из "ListBox". myArray() = Me.ListBox1.List
'Выводим в View - Immediate Window данные из 'элемента VBA-массива "myVariant". 'Берём данные из элемента, который находится 'в первой строке и первом столбце. Debug.Print myArray(0, 0)
End Sub
[/vba]
Примечание
В "ListBox" есть ещё "Column", но с помощью него можно сделать то же самое, что и с помощью "List". Отличие между "Column" и "List":
обращение к ячейке с помощью "List": List(строка, столбец) обращение к ячейке с помощью "Column": Column(столбец, строка)
при помещение таблицы в "ListBox" с помощью "Column" и при взятии таблицы из "ListBox" с помощью "Column" происходит транспонирование таблицы - таблица переворачивается. При использовании "List" таблица остаётся такой же, как мы видим на мониторе.
Попробовал. Получилось. Наверно можно сделать то же самое более простым путем, пока не знаю как, если подскажете буду благодарен. Файл с кодом прилагаю
Попробовал. Получилось. Наверно можно сделать то же самое более простым путем, пока не знаю как, если подскажете буду благодарен. Файл с кодом прилагаюRob13
Rob13, не знаю, как другим, но мне нужно словесное описание задания, а не код. Если вы хотите, чтобы проверили ваш код, то тогда нужно словесное описание вашей задачи и код.
Rob13, не знаю, как другим, но мне нужно словесное описание задания, а не код. Если вы хотите, чтобы проверили ваш код, то тогда нужно словесное описание вашей задачи и код.Скрипт
Уважаемый Скрипт, планирую создать файл для себя по работе, для ведения потребления топлива. ListBox1 должен получать данные из диапазона на листе, в ListBox2 необходимо выбрать определенные данные для дальнейшей работы с этими данными. Спасибо PowerBoy, наставил на путь истинный.
Уважаемый Скрипт, планирую создать файл для себя по работе, для ведения потребления топлива. ListBox1 должен получать данные из диапазона на листе, в ListBox2 необходимо выбрать определенные данные для дальнейшей работы с этими данными. Спасибо PowerBoy, наставил на путь истинный.Rob13
Подскажите, пож-та, как вывести в listbox1 информацию из листа plant c 2 мя колонками, но вставить text только колонки №1, а затем перенести в лист label в ячейку K22 [moder]Нарушение п.5q Правил форума
Подскажите, пож-та, как вывести в listbox1 информацию из листа plant c 2 мя колонками, но вставить text только колонки №1, а затем перенести в лист label в ячейку K22 [moder]Нарушение п.5q Правил форумаMnatal