Вытаскивание столбцов из массива - VBA
Формулировка задачи:
Добрый день!
Пытаюсь разобраться с массивами, пока получается туго.
Задача у меня взять с листа таблицу, засунуть её в двумерный массив, а затем 1 столбец вывести в combobox, как список.
Начал пошагово разбираться:
Подскажите, в чём ошибка??? Может быть без ошибок можно реализовать For Each перебор, чтобы вывести в combobox 1 столбец без заголовка, как это сделать?
- Разобрался, как взять с листа в двумерный массив данные
- Разобрался, как их выводить на лист
- Но с combobox проблемы
Листинг программы
- Sub prog()
- Dim ListArr As Variant
- Worksheets("Лист1").Select
- ListArr = ActiveSheet.UsedRange.Value
- 'записываю 1 строчку (заголовки) в данные ячейки в строчку на листе
- i = 1
- Do While v(1, i) <> Empty
- ActiveSheet.Cells(i, 7).Resize.Value = v(1, i)
- i = i + 1
- Loop
- 'Тут в строчку записываю 1 столбец без заголовка, если выхожу за границу массива - Out of range - ошибка выводит из цикла
- y = 2
- On Error GoTo GetOut
- Do While v(y, 1) <> Empty
- ActiveSheet.Cells(y - 1, 8).Resize.Value = v(y, 1) 'пока не будем записывать данные в ячейку
- y = y + 1
- Loop
- GetOut:
- 'тут не выходит так же, в чём ошибка???
- f = 2
- 'On Error Resume Next
- On Error GoTo GetOut2
- Do While v(f, 1) <> Empty 'ТУТ пишет Subscript is out of range
- On Error GoTo GetOut2
- ComboBox1.AddItem v(f, 1)
- f = f + 1
- Loop
- GetOut2:
- End Sub
Решение задачи: «Вытаскивание столбцов из массива»
textual
Листинг программы
- combobox1.list=v
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д