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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2011, 10:13   #11
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

Можно еще один вопрос
Можно ли при стандартном выпадающем списке как в примере, добавить код, при котором будет выполнятся действие, при нажатии на ячейку со списком (1-н раз лев. кнопкой мыши), допусти я ну буду выбирать значения со списка, а хочу ввести это значение с клавиатуры (заранее я помню какие есть значения в списке), и при нажатии на первую буква, список предлагал первое найденное совпадение по первому символу (и в самом списки перемещался к это первому найденному значению).
Что именно меня интересует (исходя из примера), если допустим в ячейку с2 ввести с клавиатуры первую букву "d", происходило следующее, в ячейки появлялось значение из списка "dfgdg" (ячейка К20), и если много значений на букву "d", то нажимаем на стрелочку выпадающего списка (ячейки в которую ввели "d") и в выпадающем списки отображалось это первое совпадение по букве "d", а не начало списка.
Такое возможно сделать?
Саму идею я взял вот из этого примера. Посмотрите пожалуйста.
Спасибо.

Еще оно, вообщем я хотел бы чтобы стандартный выпадающий список эксель, работал на подобе jQuery Autocomplete.
Такое возможно, кто не будь такое делал?
Вложения
Тип файла: rar Выпадающий список поиском по значениям.rar (11.4 Кб, 85 просмотров)
Единственный способ стать умнее, играть с более умным противником...

Последний раз редактировалось staniiislav; 05.10.2011 в 10:19.
staniiislav вне форума Ответить с цитированием
Старый 22.10.2012, 09:35   #12
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Помогите пожалуйста!
Нужно добавить в макрос функцию поиска по первым буквам. Чтобы я начал набирать фамилию, а она сортировалась в списке. Потом после выбора фамилии она добавлялась в ячейку. Список будет большой.Макрос у меня в колонке H, а мне нужно еще в колонки J , R , V . Помогите пожалуйста, уже неделю сижу и ничего не получается.
Вложения
Тип файла: rar Производительность бригады.rar (26.2 Кб, 19 просмотров)
and150382 вне форума Ответить с цитированием
Старый 22.10.2012, 14:42   #13
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Получилось сделать в нескольких столбцах

Как сделать поиск? Помогите с ответом


Private Sub Worksheet_Change(ByVal Target As Range)

Dim lReply As Long, i As Integer
Dim counter As Integer, MyName As String, NameRange As String

If Target.Cells.Count > 1 Then Exit Sub
If Target.Column = "8" Then
If IsEmpty(Target) Then Exit Sub
counter = Len(Target)
MyName = Left(Target, counter)
For i = 1 To Range("People").Count
NameRange = Left(Range("People").Cells(i), counter)
If LCase(NameRange) = LCase(MyName) Then
Application.EnableEvents = False
Application.EnableEvents = True
Exit For
End If
Next
If WorksheetFunction.CountIf(Range("Pe ople"), Target) = 0 Then
lReply = MsgBox("Добавить введенное имя " & _
Target & " в выпадающий список?", vbYesNo + vbQuestion)
If lReply = vbYes Then
Range("People").Cells(Range("People ").Rows.Count + 1, 1) = Target
Range("People").Resize(Range("Peopl e").Rows.Count + 1).Name = "People"
Range("People").Sort Key1:=Range("AD12"), _
Order1:=xlAscending, Header:=xlNo
Else
Target = ""
End If
End If
End If

If Target.Column = "10" Then
If IsEmpty(Target) Then Exit Sub
counter = Len(Target)
MyName = Left(Target, counter)
For i = 1 To Range("People").Count
NameRange = Left(Range("People").Cells(i), counter)
If LCase(NameRange) = LCase(MyName) Then
Application.EnableEvents = False
Application.EnableEvents = True
Exit For
End If
Next
If WorksheetFunction.CountIf(Range("Pe ople"), Target) = 0 Then
lReply = MsgBox("Добавить введенное имя " & _
Target & " в выпадающий список?", vbYesNo + vbQuestion)
If lReply = vbYes Then
Range("People").Cells(Range("People ").Rows.Count + 1, 1) = Target
Range("People").Resize(Range("Peopl e").Rows.Count + 1).Name = "People"
Range("People").Sort Key1:=Range("AD12"), _
Order1:=xlAscending, Header:=xlNo
Else
Target = ""
End If
End If
End If

If Target.Column = "18" Then
If IsEmpty(Target) Then Exit Sub
counter = Len(Target)
MyName = Left(Target, counter)
For i = 1 To Range("People").Count
NameRange = Left(Range("People").Cells(i), counter)
If LCase(NameRange) = LCase(MyName) Then
Application.EnableEvents = False
Application.EnableEvents = True
Exit For
End If
Next
If WorksheetFunction.CountIf(Range("Pe ople"), Target) = 0 Then
lReply = MsgBox("Добавить введенное имя " & _
Target & " в выпадающий список?", vbYesNo + vbQuestion)
If lReply = vbYes Then
Range("People").Cells(Range("People ").Rows.Count + 1, 1) = Target
Range("People").Resize(Range("Peopl e").Rows.Count + 1).Name = "People"
Range("People").Sort Key1:=Range("AD12"), _
Order1:=xlAscending, Header:=xlNo
Else
Target = ""
End If
End If
End If

If Target.Column = "22" Then
If IsEmpty(Target) Then Exit Sub
counter = Len(Target)
MyName = Left(Target, counter)
For i = 1 To Range("People").Count
NameRange = Left(Range("People").Cells(i), counter)
If LCase(NameRange) = LCase(MyName) Then
Application.EnableEvents = False
Application.EnableEvents = True
Exit For
End If
Next
If WorksheetFunction.CountIf(Range("Pe ople"), Target) = 0 Then
lReply = MsgBox("Добавить введенное имя " & _
Target & " в выпадающий список?", vbYesNo + vbQuestion)
If lReply = vbYes Then
Range("People").Cells(Range("People ").Rows.Count + 1, 1) = Target
Range("People").Resize(Range("Peopl e").Rows.Count + 1).Name = "People"
Range("People").Sort Key1:=Range("AD12"), _
Order1:=xlAscending, Header:=xlNo
Else
Target = ""
End If
End If
End If
End Sub
and150382 вне форума Ответить с цитированием
Старый 24.10.2012, 10:36   #14
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

посмотрите два варианта, может подойдут... макросы писал не я, я только их переделал немного
Вложения
Тип файла: rar Производительность бригады2.rar (77.4 Кб, 91 просмотров)
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 01.11.2012, 10:16   #15
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Спасибо большое!!!!!
Очень помогли
and150382 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выпадающий список из БД KorPaEv PHP 7 08.08.2011 19:31
Выпадающий список Павел_Игоревич Помощь студентам 3 17.05.2011 23:29
Выпадающий список. 0479 Microsoft Office Access 2 03.10.2010 23:19
Выпадающий список tsergey Помощь студентам 2 24.01.2010 15:34
выпадающий список Toxa Microsoft Office Excel 2 23.04.2007 09:40