Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 11.02.2010, 01:14   #1
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 688
По умолчанию Выделение в раскрывающемся списке.

Здравствуйте.
Подскажите как сделать?
Значения в ComboBox1 загружаются при Initialize формы, одно из этих значений находится в ячейки Z1 (или ячейка пуста). При выполнении открытие раскрывающегося списка необходимо выделить то значение, которое будет указано в ячейки Z1 (то есть по совпадению текстов ComboBox1 и ячейки Z1), что бы можно было определить какое значение на данный момент находится в ячейки Z1.
Дополнение.
Выделялось или фокусировалось (синим цветом).
Изображения
Тип файла: jpg spisok.JPG (20.2 Кб, 46 просмотров)
segail вне форума Ответить с цитированием
Старый 11.02.2010, 12:51   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,841
По умолчанию

Я очень рад предоставленной мне возможности в очередной раз самостоятельно создать для Вас пример файла с формой.

Я просто обожаю тратить время на создание файлов с формами, особенно когда для решения задачи достаточно написать всего пару строк кода.

Проверяйте: http://excelvba.ru/XL_Files/Sample__...__13-51-34.zip
EducatedFool вне форума Ответить с цитированием
Старый 11.02.2010, 13:20   #3
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 688
По умолчанию

У меня немного по другому, при Initialize формы происходит заполнение списка ComboBox1
Посмотрите пример
Вложения
Тип файла: rar spisok.rar (13.4 Кб, 14 просмотров)
segail вне форума Ответить с цитированием
Старый 11.02.2010, 13:22   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,164
По умолчанию

To EducatedFool:
Я рассматривал эту задачу. На сколько я понял, требуется, чтобы по событию DropButtonClick в раскрывшемся списке была выделена требуемая строка. Но при этом значение в самом ComboBox не изменялось. Решить такую задачу я не смог. А это возможно?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 11.02.2010, 13:27   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,841
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Насколько я понял, требуется, чтобы по событию DropButtonClick в раскрывшемся списке была выделена требуемая строка. Но при этом значение в самом ComboBox не изменялось.
Я тоже понял, что нужно именно это. Но добиться такого я не смог, поэтому предложил только такой вариант.

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Решить такую задачу я не смог. А это возможно?
Вряд ли возможно.
Выделить синим - точно не получится (без WinAPI),
выделить пунктирной рамочкой, или пролистать список до нужного значения - может, и получится, но я не знаю, как это реализовать.
EducatedFool вне форума Ответить с цитированием
Старый 11.02.2010, 13:32   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,164
По умолчанию

Цитата:
Вряд ли возможно.
Спасибо. А то уже подумал, что старею.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 11.02.2010, 13:38   #7
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 15.02.2009
Сообщений: 753
По умолчанию

Цитата:
что бы можно было определить какое значение на данный момент находится в ячейки Z1.
вариант
Код:
Private Sub UserForm_Activate()
Dim i
i = Columns(1).Rows(65000).End(xlUp).Row
 UserForm1.ComboBox1.RowSource = "Лист1!A1:A" & i
For i = 0 To UserForm1.ComboBox1.ListCount - 1
If Лист1.Cells(1, 26).Value = UserForm1.ComboBox1.List(i) Then UserForm1.ComboBox1.ListIndex = i
Next i
End Sub

Последний раз редактировалось alex77755; 11.02.2010 в 13:47. Причина: добавление установки ссылки на массив
alex77755 вне форума Ответить с цитированием
Старый 11.02.2010, 13:53   #8
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 688
По умолчанию

А как быть с этим?
Код:
Private Sub UserForm_Initialize()
'Заполнение списка ComboBox1
    ComboBox1.AddItem "03"
    ComboBox1.AddItem "02"
    ComboBox1.AddItem "01"
    ComboBox1.AddItem "segail тупит"
End Sub
segail вне форума Ответить с цитированием
Старый 11.02.2010, 15:13   #9
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 688
По умолчанию

Небольшой вопрос к данной теме.

Возможно ли действие:
При открытие объекта список ComboBox1 объект TextBox1.Visible=True
При закрытие объекта список ComboBox1 объект TextBox1.Visible=False
segail вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Последнее значение в списке Maruff Microsoft Office Excel 13 16.02.2017 13:43
Изменение шрифта в списке Vill Общие вопросы Delphi 1 05.12.2009 02:08
Подскажите! как сделать так что бы при выборе какого либо наименования в раскрывающемся списке в соседней xниколай Microsoft Office Excel 1 14.10.2009 17:10
Линейные Списке на Паскале MaXoN66613 Помощь студентам 2 11.06.2009 14:54
поиск IP в списке TaTT DoGG PHP 6 13.08.2008 18:53