Я понимаю, как использовать функцию смещения для динамического диапазона, но что если этот динамический диапазон находится в пределах определенного числа дополнительных столбцов?Например, скажем, у меня есть лист со столбцами A: N, а именованный диапазон относится к D2: E2.Если я добавлю еще два столбца, этот диапазон должен расшириться до D2: G2, но не включать столбцы F и далее.
В настоящее время я использую функцию смещения с функцией счетчика, чтобы сделать это, но в этом диапазоне есть несколько естественных пустых ячеек (из-за объединенных ячеек).Есть ли способ удалить эти пробелы для использования в раскрывающемся списке?
В настоящее время я определил имя как:
=OFFSET('Sheet 1'!$D$2,0,0,1,COUNTA('Sheet 1'!$D2:$ZZ2))
, которое возвращает все значения, которые я ищу, но также несколько пробелов, которые мне не нужны в раскрывающемся списке.,
В настоящее время я использую следующий код во время инициализации пользовательской формы, но, похоже, он тоже не работает:
Dim Rng As Range
Dim i As Long
Me.ComboBox1.RowSource = ""
Set Rng = Range("Combo")
For i = 1 To Rng.Rows.Count
If Rng(i) <> "" Then
Me.ComboBox1.AddItem Rng(i)
End If
Next i
Я также пытался
Dim aCell As Range, ws1 As Worksheet, lastColumn As Long, stopColumn As Long
Set ws1 = Worksheets("sheet 1")
With ws1
lastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column
stopColumn = lastColumn - 12
Me.ComboBox1.RowSource = ""
With ws1
For Each aCell In .Range("D2", .Cells(2, stopColumn))
If aCell.Value <> "" Then
Me.ComboBox1.AddItem aCell.Value
End If
Next
End With
Хотя ни одна попытка не сработала, раскрывающийся список выпадающего списка пуст.