На вкладке «Настройка» у меня автоматически создается список листов:
Формат столбца: листы с форматом A выглядят одинаково, содержат только разные значения, и все листы с форматом B также выглядят одинаково, снова содержат разные значения .
Теперь я добавляю значения в поле со списком:
Dim db_rows As Long, i As Long
Dim wbs As Workbook
Dim wss As Worksheet
Set wbs = ActiveWorkbook
Set wss = wbs.Worksheets("setting")
db_rows = wss.Cells(Rows.Count, 1).End(xlUp).Row
With cb3
.Clear
For i = 2 To db_rows
If wss.Cells(i, 1).Value <> "" Then
.AddItem wss.Cells(i, 2).Value
End If
Next i
End With
Me.cb3.ListIndex = 0
Затем я хочу заполнить listBox2 на основе значения, нажатого на cb3. Но приведенный ниже код работает одинаково для всех форматов.
Dim NameArray As Variant
With Sheets(Me.cb3.Value)
NameArray = .Range(.Range("B6"), .Range("B6").End(xlDown))
NameArray = .Range("A8:H100")
End With
listBox2.List = NameArray
Пожалуйста помоги.
Пример различных диапазонов в зависимости от формата:
Формат A: Диапазон: A8:H100
Формат B: Диапазон: B10:G50
Формат C: Диапазон: C20:B30 и т.д....
NameArray
с помощью.Range(.Range("B6"), .Range("B6").End(xlDown))
, вы перезаписываете следующую строку с помощьюNameArray = .Range("A8:H100")
(которая всегда имеет одинаковый размер) - person Shai Rado   schedule 09.01.2017