Страницы: 1
RSS
Быстрая навигация по книге и ComboBox
 
Хочу реализовать быструю навигацию по листам рабочей книги.  
 
В приведенном примере алгоритм работает следующем образом: Вводим в ComboBox первую букву имени листа, в момент ввода программа предложит варианты выбора при частичном совпадении, как только вводимые символы будут уникальны для какого то одного листа программа автоматически очистит поле ввода и переключится на выбранный лист.  
 
В проводнике Windows есть интересный способ навигации по списку файлов, работает он так: Выводим список файлов, выбираем любой файл, если жмем на клавиатуре "А", то подсвечивается первое по списку словосочетание на букву "А", если повторно жмем "А" подсвечивается следующее по списку словосочетание и.т.д.  
 
Какой алгоритм нужно дописать в моем примере?  
 
Обратите внимание на имя листа г.Игорь и Григорий.
 
Файл.....
 
Так подойдёт?  
 
 
Private Sub ComboBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)  
   On Error Resume Next: If KeyCode = 13 Then Worksheets(ComboBox2.Text).Activate  
End Sub  
 
Private Sub UserForm_Initialize()  
   Dim sh As Worksheet  
   For Each sh In ThisWorkbook.Worksheets  
       ComboBox2.AddItem sh.Name  
   Next sh  
   UserForm1.Caption = ActiveSheet.Name  
   ComboBox2 = ActiveSheet.Name  
End Sub  
 
Вводите первые буквы названия листа, комбобокс подставляет остальные, Вы нажимаете Enter - и соответствующий лист активируется.  
 
Если бы воспользовались поиском по форумам - нашли бы готовое решение (где-то попадалось)  
Обычно в подобных случаях пользуются не формой, а оглавлением с гиперсылками.
 
Предложенное решение немножко не в тему.  
 
Хочется чтобы при первом нажатии на "А" переходили на лист "Антон", при повторном нажатии на "А" переходили на лист "Андрей" и.т.д.
 
Находил похожую тему, но она не работает.
 
Специалисты, подкиньте подсказку.
 
Пример подобен предыдущему, при частичном совпадении переключаемся на лист, но имя листа остается в ComboBox.  
 
Я хочу чтобы при вводе "А" переключились на Антон--> Затерается Антон, Ввели еще раз "А" переключились на следующее слово, которое начинается на "А".  
И если словосочетаний на букву "А" всего 2, то мы между ними можем переключаться в цикле.  
   
Не могу продумать механику алгоритма.
 
Пожалуйста, обратите внимание!
 
Благодарю!
Страницы: 1
Читают тему
Наверх