Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2010, 14:36   #1
web_lover
 
Регистрация: 24.06.2010
Сообщений: 6
По умолчанию Создание динамического Comboboxа !

Здравствуйте,
У меня такой вопрос:
как сделать так чтобы Combobox заполнял себя из первой колонки динамической таблицы?

Второй вопрос: хочу при выборе в Combobox1 item1 то в Textbox1 появляется value1, короче соседняя ячейка!!!



желательно если на 2007 версии !!

Благодарен за ранее
Вложения
Тип файла: rar Combobox.rar (15.7 Кб, 9 просмотров)
web_lover вне форума Ответить с цитированием
Старый 24.06.2010, 14:53   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Юзайте вложение
Возможен и такой вариант
Код:
Private Sub UserForm_Initialize()
ComboBox1.Clear
d = Sheets("Sheet1").Range("Table1")
For n = 1 To UBound(d)
 ComboBox1.AddItem (d(n, 1))
 ComboBox1.List(n - 1, 1) = d(n, 2)
Next

End Sub
Вложения
Тип файла: rar Combobox.rar (19.4 Кб, 44 просмотров)
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 24.06.2010 в 15:14.
doober вне форума Ответить с цитированием
Старый 24.06.2010, 19:14   #3
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте web_lover.
способ немного отличается от предложенного doober, но смысл тот-же
Код:
Private Sub UserForm_Activate()
    ComboBox1.List = Sheets(1).Range("A2:B4").Value
End Sub
Private Sub ComboBox1_Click()
    TextBox1.Text = ComboBox1.Column(1)
End Sub
Евгений.
P.S. Sheets(1).Range("A2:B4").Value не "любит" работать на листах со списками.

Последний раз редактировалось Teslenko_EA; 24.06.2010 в 19:24.
Teslenko_EA вне форума Ответить с цитированием
Старый 24.06.2010, 21:04   #4
web_lover
 
Регистрация: 24.06.2010
Сообщений: 6
По умолчанию

Спасибо ребята
работает но у меня вопрос к dooberу обязательный ли макрос1 во вложении, чего-то его не понял! зачем он там? убрал его и все работает?
А Teslenko_EAу есть вопрос а можно в твоем коде вместе "A2:B4" написать "Table1" ? и в TextBox1.Text = ComboBox1.Column(1) что означает 1 в Column(1) значит следующая колонка? а если у меня три и хочу не вторую а третью, можно написать Column(2)?
web_lover вне форума Ответить с цитированием
Старый 24.06.2010, 21:59   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Нет не обязательно-это мусор
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 24.06.2010, 22:34   #6
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

web_lover, если "Table1" - имя диапазона который Вы хотите подключить в качестве списка для ComboBox1, то конечно можно "написать..".
Столбцы контрола имеют нумерацию (индекс в массиве) начинающуюся с нуля, соответственно для обращения к нему если "..хочу .. третью.." конечно "..можно написать Column(2)..". Но у контрола ещё есть свойство BoundColumn (связанная колонка) и если задать его - ComboBox1.BoundColumn = 3, то прочесть значение третьего столбца можно без явного указание его индекса, просто обращаясь к контролу - s = ComboBox1
Также не стоит забывать о заданном кол-ве столбцов
ComboBox1.ColumnCount = 3
и о их ширине, устанавливая которую в ноль, скрывается столбец
ComboBox1.ColumnWidths = "0;20;30" ' (задается текстовым значением)

Надеюсь это всё будет Вам интересно на данном этапе освоения VBA

Удачи Вам.
Евгений.
P.S. свои сообщения я подписываю в надежде, что ко мне будут обращаться по имени а не по НИКу.
Teslenko_EA вне форума Ответить с цитированием
Старый 24.06.2010, 23:02   #7
web_lover
 
Регистрация: 24.06.2010
Сообщений: 6
По умолчанию

Спасибо doober
Спасибо Евгений
web_lover вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание динамического сайта. hqpz PHP 6 26.04.2010 21:58
Создание Динамического массива используя функции и файлы (С++)(HELP) Myau Thai Помощь студентам 2 24.05.2009 18:08
Создание н-мерного динамического массива Парсифаль Общие вопросы C/C++ 33 02.05.2009 18:29
Создание метода Click у динамического меню Alessi Общие вопросы Delphi 2 23.03.2009 11:01
Два связанных ComboBoxа. Как реализовать? Юнлинг Microsoft Office Excel 9 04.03.2009 08:13