Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| |
Не работает :( 17.10.07 13:26 Число просмотров: 3699
Автор: Fighter <Vladimir> Статус: Elderman Отредактировано 17.10.07 13:36 Количество правок: 2
|
> 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
|
<programming>
|
Вопрос по использованию ComboBox в VBA 13.10.07 11:44
Автор: Fighter <Vladimir> Статус: Elderman
|
Как в означенный ComboBox напихать нужные значения, а потом получить выбор пользователя?
|
|
Вот так: 13.10.07 13:14
Автор: Ustin <Ustin> Статус: Elderman
|
Private Sub CommandButton1_Click()
ComboBox1.Clear
ComboBox1.AddItem ("1")
ComboBox1.AddItem ("2")
ComboBox1.AddItem ("3")
ComboBox1.AddItem ("4")
ComboBox1.AddItem ("5")
End Sub
Private Sub CommandButton2_Click()
MsgBox (ComboBox1.ListIndex)
End Sub
|
| |
Не работает :( 17.10.07 13:26
Автор: Fighter <Vladimir> Статус: Elderman Отредактировано 17.10.07 13:36 Количество правок: 2
|
> 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
|
|
| | | | |
Очередное гугление с пристрастием 17.10.07 19:17
Автор: Fighter <Vladimir> Статус: Elderman
|
дало ссылку http://inf.1september.ru/articlef.php?ID=200601015 , где утверждается, что "Поле со списком (ComboBox) — это элемент управления, который применяется для хранения списка значений. Список значений заранее создается на листе Excel (подчеркнуто мной) и программно формируется для использования его в пользовательской форме." Это единственный путь? Неужели действительно нельзя напихать нужные значения программно (из макроса)?
|
| |
Пасиба, то что нуно :) ! 13.10.07 16:33
Автор: Fighter <Vladimir> Статус: Elderman
|
|
|
|