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

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

skype: ExcelVBA.ru
По умолчанию

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

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

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

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

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

skype: ExcelVBA.ru
По умолчанию

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

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

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

Цитата:
что бы можно было определить какое значение на данный момент находится в ячейки 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
Репутация: 10
По умолчанию

А как быть с этим?
Код:
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
Репутация: 10
По умолчанию

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Последнее значение в списке 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


08:50.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.