Я пытаюсь динамически добавить на лист Excel несколько выпадающих списков activex, количество и содержание которых зависит от других ранее установленных данных.Я хочу сохранить их в массиве для последующего управления их содержимым (в том же листе будут другие списки со специальным назначением).Я запускаю следующий код:
Sub run_Combo_Test()
Dim DestinationBookmarkCombo() As Object
Dim i, k As Integer
Dim nCombos, nHeaderLines, nOptions As Integer
nCombos = 5
nOptions = 4
nHeaderLines = 3
ReDim DestinationBookmarkCombo(0 To nCombos - 1) As Object
For i = 0 To nCombos - 1
Set DestinationBookmarkCombo(i) = Worksheets("bula").OLEObjects.Add(ClassType:="Forms.ComboBox.1", _
Link:=False, DisplayAsIcon:=False, Left:=50, Top:=80, Width:=100, _
Height:=15)
With DestinationBookmarkCombo(i)
With .Object
.Left = xlApp.Worksheets("bula").Cells(nHeaderLines + 1 + i, 4).Left
.Top = xlApp.Worksheets("bula").Cells(nHeaderLines + 1 + i, 4).Top
.Placement = 1
For k = 1 To nOptions
.AddItem "Option " + CStr(k)
Next k
.Name = "Combo_" + CStr(i)
'.OnAction = "myCombo_Change"
End With
End With
Next i
End Sub
Код генерирует один пустой комбинированный список и возвращает ошибку «Требуется объект».Я не могу отследить, где проблема.Может кто-нибудь помочь?Заранее спасибо!