> Private Sub CommandButton1_Click() > ComboBox1.Clear > ComboBox1.AddItem ("1") > ComboBox1.AddItem ("2") > ComboBox1.AddItem ("3") > ComboBox1.AddItem ("4") > ComboBox1.AddItem ("5") > End Sub Здесь ругается на ошибку 424(?) и предлагает заняться отладкой.
Если написать
UserForm1.ComboBox1.Clear
UserForm1.ComboBox1.AddItem ("1")
...
то не ругается, но и не работает - комбобокс пустой. Правда эти строки я вынес в отдельную процедуру, выполняющуюся при активации определенного листа в Ёкселе:
Sub DoAllNeeded()
Load UserForm1
UserForm1.ComboBox1.Clear
UserForm1.ComboBox1.AddItem ("1")
UserForm1.ComboBox1.AddItem ("2")
UserForm1.ComboBox1.AddItem ("3")
UserForm1.ComboBox1.AddItem ("4")
UserForm1.ComboBox1.AddItem ("5")
UserForm1.Show
End Sub
> > Private Sub CommandButton2_Click() > MsgBox (ComboBox1.ListIndex) > End Sub Здесь выдает -1
А так?17.10.07 15:29 Автор: Ustin <Ustin> Статус: Elderman Отредактировано 17.10.07 15:35 Количество правок: 1
> > Private Sub CommandButton1_Click() > > ComboBox1.Clear > > ComboBox1.AddItem ("1") > > ComboBox1.AddItem ("2") > > ComboBox1.AddItem ("3") > > ComboBox1.AddItem ("4") > > ComboBox1.AddItem ("5") > > End Sub > Здесь ругается на ошибку 424(?) и предлагает заняться > отладкой. Значит форма не создана
> Если написать > UserForm1.ComboBox1.Clear > UserForm1.ComboBox1.AddItem ("1") > ... > то не ругается, но и не работает - комбобокс пустой. Правда > эти строки я вынес в отдельную процедуру, выполняющуюся при > активации определенного листа в Ёкселе: Так попробуй:
Sub DoAllNeeded()
Load UserForm1
UserForm1.Show
Doevents ':)
UserForm1.ComboBox1.Clear
UserForm1.ComboBox1.AddItem ("1")
UserForm1.ComboBox1.AddItem ("2")
UserForm1.ComboBox1.AddItem ("3")
UserForm1.ComboBox1.AddItem ("4")
UserForm1.ComboBox1.AddItem ("5")
'> > MsgBox (ComboBox1.ListIndex)
'> Здесь выдает -1
ComboBox1.ListIndex = 0'?
End Sub
Тоже самое. Комбобокс пустой, индекс равен -1.17.10.07 17:10 Автор: Fighter <Vladimir> Статус: Elderman
дало ссылку http://inf.1september.ru/articlef.php?ID=200601015 , где утверждается, что "Поле со списком (ComboBox) — это элемент управления, который применяется для хранения списка значений. Список значений заранее создается на листе Excel (подчеркнуто мной) и программно формируется для использования его в пользовательской форме." Это единственный путь? Неужели действительно нельзя напихать нужные значения программно (из макроса)?
Пасиба, то что нуно :) !13.10.07 16:33 Автор: Fighter <Vladimir> Статус: Elderman