Страницы: 1
RSS
??? кнопка(макрос) Alt+Tab внутри активной книги
 
Может уже есть готовые коды надстроек для моей проблемки?  
Часто приходится работать в книге с большим кол-м листов, и из одного переносить данные на другой, не хватает вмндосовской связки клавиш "Alt+Tab" для быстрого перехода с активного листа на лист открытый перед этим (они могут распологаться не рядом).  
Экселевская комбинация клавиш по переходу между листами не подходит, т.к. она переходит между двумя рядомстоящими листами.  
Нужен код(надстройка) - вкл ее и "Alt+Tab" работает не в винде, а только в Экселе, выкл - все как обычно, т.е. прекл-е между окнами винды.  
 
Какие будут предложения?
 
{quote}{login=+АНДРЕЙ+}{date=06.11.2011 11:42}{thema=??? кнопка(макрос) Alt+Tab внутри активной книги}{post}Какие будут предложения?{/post}{/quote}Это от Вас ждём предложений.
 
В любой валюте.
Я сам - дурнее всякого примера! ...
 
что и натурой? )
 
В общем - можно по Workbook_SheetActivate добавлять лист в коллекцию, по хоткеям выбирать предыдущий/следующий лист из коллекции.  
Но сейчас - спать :)
 
Пробуйте. Alt+Tab простыми средствами не перехватывается, сделал по Alt+q и Alt+Shift+q.
 
Вроде бы попроще работает, но сильно не тестил:  
 
В модуль книги:  
 
 
Private Sub Workbook_Open()  
tmp = ActiveSheet.Index  
tmpp = tmp  
End Sub  
 
Private Sub Workbook_SheetActivate(ByVal Sh As Object)  
tmp = tmpp  
tmpp = ActiveSheet.Index  
End Sub  
 
В стандартный модуль:  
 
Option Explicit  
 
Public tmp&, tmpp&  
 
Sub PrevShAct()  
Sheets(tmp).Activate  
End Sub  
 
 
Ну и задать макросу PrevShAct сочетание Ctrl+q или другое стандартным способом.
 
Игорь,  
так, конечно, проще, но у меня вся история отслеживается от открытия книги и переход в обе стороны. Как в браузере :)
 
Точно вся, от открытия? Я код с лёту не прочитал, путано как-то...  
Но тогда есть намётки своего варианта (не прорабатывал, да и вряд ли это нужно, но вдруг) - при смене листа кладём в словарь порядковый номер действия, в Item индекс или имя листа (лучше кодовое).  
При смене листа заносим новый номер с новым именем. А по макросу извлекаем предыдущее имя из словаря по .Count-1.  
Отдельным кодом можно распечатать весь словарь.  
Как-то так.
Страницы: 1
Читают тему
Наверх