Заполнение ListBox и Combobox - VBA

Узнай цену своей работы

Формулировка задачи:

Добрый день уважаемые специалисты. Тема заполнения ListBox и Combobox наверное уже изъезжена вдоль и поперек. Однако, когда занимаешься программированием не регулярно, а по мере необходимости, то сталкиваешься с моментами, ответы на которые не всегда есть в книгах и на форумах. Один из таких моментов это не возможность вставить из диапазона список их одного значения, т.е например, иногда бывает, что в листбокс нужно передать значение, соответствующее одной строке:
Листинг программы
  1. Private Sub UserForm_Initialize()
  2. ListBox1.List= Worksheets("Лист1").Range("A1:A2") .value 'работает
  3. ListBox1.List = Worksheets("Лист1").Range("A1:A1").value 'не работает, выдает ошибку несоответствия индексов
  4. ListBox1.List = Worksheets("Лист1").Range("A1").value 'не работает, выдает ошибку несоответствия индексов
  5. End Sub
Естественно написано упрощенно и вместо "A1:A2" будет поставляться диапазон по определенному условию из разных частей книги, который может содержать как 50, так и одну строку. Вопрос как это можно обойти. Спасибо.

Решение задачи: «Заполнение ListBox и Combobox»

textual
Листинг программы
  1. For Each s In Worksheets("Лист1").Range("A1:A1")
  2. ListBox1.AddItem s.Value
  3. Next

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут