![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 11.02.2008
Сообщений: 119
|
![]()
Добрый день! Подскажите, пожалуйста, как создать следующую обработку.
Имеется перечень всех субъектов Российской Федерации (отсортированный по алфавиту, хранить перечень субъёктов предполагается в массиве), при вводе в ячейку (столбец) буквы "Н" автоматически подставляется "Новгородская" (под "подставляется" подразумевается дописывание слова, по аналогии со стандартной функцией excel, когда вводишь ранее введённое значение), далее вводятся "ово", в ячейку подставляется "Новосибирская", нажимаешь enter значение выбрано - "Новосибирская". |
![]() |
![]() |
![]() |
#2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 11.02.2008
Сообщений: 119
|
![]()
То есть, если мне необходимо заполнять огромную таблицу, используя данный метод, нужно будет нарисовать множество ComboBox и для каждого прописать приведённый код?
|
![]() |
![]() |
![]() |
#4 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
Будет 1 комбобокс - по умолчанию он скрыт (размеры 0*0) При выделении любой ячейки из нужного диапазона, по событию Worksheet_SelectionChange, комбобокс подгоняется по размерам под выделенную ячейку, и располагается прямо поверх неё. После завершения ввода (по нажатию Enter) - по событию ComboBox1_KeyDown - введённые данные попадают в ячейку под комбобоксом, а сам он скрывается (ставятся вновь размеры 0*0) |
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 11.02.2008
Сообщений: 119
|
![]()
К сожаления я слаб в коде (даже в этом не разобрался
![]() ![]() |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 11.02.2008
Сообщений: 119
|
![]()
Как добавить область нашёл
![]() ![]() ![]() Последний раз редактировалось Flangini; 14.05.2010 в 11:45. |
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 11.02.2008
Сообщений: 119
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 11.02.2008
Сообщений: 119
|
![]()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Me.ComboBox1.Left = 0 Me.ComboBox1.Top = ??? End Sub Скажите, как заставить ComboBox двигаться в соответствии с выбранной ячейкой? |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 11.02.2008
Сообщений: 119
|
![]()
Мне удалось придумать только такой вариант:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim a As Single Me.ComboBox1.Left = 0 a = ActiveCell.Row Me.ComboBox1.Top = (a - 1) * 12.75 End Sub |
![]() |
![]() |
![]() |
#10 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Вот вам готовый пример:
Выделите любую ячейку в диапазоне b2:b350 - и увидите результат. Код совсем несложен: Код:
PS: Вот ещё пример поиска подходящих записей в момент ввода данных в "ячейку": Попробуйте в этом примере ввести в ячейку B4 число 255 |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Автоподстановка | Fezdipekla | Microsoft Office Access | 2 | 20.04.2010 18:10 |
Автоподстановка | Nightwolf | Microsoft Office Access | 3 | 19.04.2009 12:11 |
DBMemo автоподстановка | John_chek | Компоненты Delphi | 3 | 25.01.2007 13:41 |