Страницы: 1
RSS
Сочетание клавиш Ctrl+[ (аналогично Ctrl+Ха - именно ХА, а не икс) Excel 2003
 
Всем привет! Взываю о помощи... в поиске на эту тему нашёл сообщения от 2008 года выпуска(( Но ответа так и не последовало, собственно вот проблема: не работает данное сочетание на некоторых компах, а на других работает.  
 
О сочетании: если в нескольких словах, то "...Ctrl-[ перемещает курсор на ячейки, на которые ссылается формула...." а вот и сама тема прошлых лет а
 
planetaexcel.ru/forum.php?thread_id=5770  
 
Своими словами: если предположим создать новый файл в экселе, на первом листе ввести какое-нибудь значение (скажем 50) , потом переместимся например на лист третий, в любой ячейке введём "=" и у кажем путь к певому листу со значением 50, то и итоговое в ячейке на третьем листе соответственно будет равно значению с первого листа. Теперь тыкаем на ячейку третьего листа, в которой наша формула ссылается на первый лист и нажимаем то самое сочетание клавиш (причём работает и на русском и на английском) - мы должны переместиться на первый лист (т.е. на ту ячейку , на которую ссылалась наша формула).  
 
Извините, если криво объяснил...  
Собственно почем не работает данное сочетаниеМожно ли его воскресить и т.п., может макросом? Не знаю где копать....
 
Здравствуйте. Вот именно то что Вы ищете: <BR>http://www.planetaexcel.ru/forum.php?thread_id=19153 Было не далее двух дней назад.
 
> Можно ли его воскресить и т.п., может макросом?  
 
Попробуйте в окне Immediate  
 
application.OnKey "^{[}"
 
Если не воскресится, копайте дальше.
 
{quote}{login=Казанский}{date=17.09.2010 11:43}{thema=}{post}> Можно ли его воскресить и т.п., может макросом?  
 
Попробуйте в окне Immediate  
 
application.OnKey "^{[}"
 
Если не воскресится, копайте дальше.{/post}{/quote}  
 
 
Простите, я слишком зелен в этом вопросе))) Где это окно?)
 
{quote}{login=Jackson}{date=17.09.2010 11:50}{thema=Re: }{post}  
Где это окно?){/post}{/quote}http://www.claw.ru/book20/Books.VBasic6/Chapter%201/ch19.html
 
> Простите, я слишком зелен в этом вопросе))) Где это окно?)  
 
Если из Excel, то Alt+F11, Ctrl+G
 
{quote}{login=Serge 007}{date=17.09.2010 11:54}{thema=Re: Re: }{post}{quote}{login=Jackson}{date=17.09.2010 11:50}{thema=Re: }{post}  
Где это окно?){/post}{/quote}http://www.claw.ru/book20/Books.VBasic6/Chapter%201/ch19.html{/post}{/quote}  
Спасибо за ссылку, но чтобы узнать как его открыть, пришлось полазить по поисковой системе))) И для таких, как я тут всё же отпишусь, может кому пригодится, что открыть данное волшебное окно можно следующим способом:  
 
Из экселя - СЕРВИС-МАКРОС-РЕДАКТОР VISUAL BASIC  
и уже в нём VIEW-IMMEDIATE WINDOW =))
 
{quote}{login=Казанский}{date=17.09.2010 12:00}{thema=}{post}> Простите, я слишком зелен в этом вопросе))) Где это окно?)  
 
Если из Excel, то Alt+F11, Ctrl+G{/post}{/quote}  
 
Это конечно более быстрый способ) Спасибо, буду знать)
 
{quote}{login=Казанский}{date=17.09.2010 11:43}{thema=}{post}> Можно ли его воскресить и т.п., может макросом?  
 
Попробуйте в окне Immediate  
 
application.OnKey "^{[}"
 
Если не воскресится, копайте дальше.{/post}{/quote}  
 
Ввёл в окне это дело, а что дальше? Enter? Сохранить? Переходим в эксель и пробуем?
 
Дальше Enter, перейти в Excel (Alt+F11) и попробовать.  
Если не поможет, снова в Immediate и попробовать  
 
application.EnableEvents =True    
 
и снова попробовать в Excel.  
Если одна из этих команд поможет - искать, какая надстройка или макрос в Personal.xls отключает Ctrl+[ или запрещает события.
 
{quote}{login=Казанский}{date=17.09.2010 02:59}{thema=}{post}Дальше Enter, перейти в Excel (Alt+F11) и попробовать.  
Если не поможет, снова в Immediate и попробовать  
 
application.EnableEvents =True    
 
и снова попробовать в Excel.  
Если одна из этих команд поможет - искать, какая надстройка или макрос в Personal.xls отключает Ctrl+[ или запрещает события.{/post}{/quote}
 
ничего не помогает...уже переставлял несколько раз, но всё тщетно...где надстройки смотреть не подскажете?
 
{quote}{login=Казанский}{date=17.09.2010 02:59}{thema=}{post}Дальше Enter, перейти в Excel (Alt+F11) и попробовать.  
Если не поможет, снова в Immediate и попробовать  
 
application.EnableEvents =True    
 
и снова попробовать в Excel.  
Если одна из этих команд поможет - искать, какая надстройка или макрос в Personal.xls отключает Ctrl+[ или запрещает события.{/post}{/quote}
 
надстройки отключены все, включение всех тоже ничего не даёт...а возможна ли данная функция из меню?
 
{quote}{login=}{date=17.09.2010 03:35}{thema=Re: }{post}{quote}{login=Казанский}{date=17.09.2010 02:59}{thema=}{post}Дальше Enter, перейти в Excel (Alt+F11) и попробовать.  
Если не поможет, снова в Immediate и попробовать  
 
application.EnableEvents =True    
 
и снова попробовать в Excel.  
Если одна из этих команд поможет - искать, какая надстройка или макрос в Personal.xls отключает Ctrl+[ или запрещает события.{/post}{/quote}
 
ничего не помогает...уже переставлял несколько раз, но всё тщетно...где надстройки смотреть не подскажете?{/post}{/quote}  
Если совсем ничего не помогает то пользуйтесь макросом :)
Спасибо
 
{quote}{login=R Dmitry}{date=17.09.2010 03:49}{thema=Re: Re: }{post}{quote}{login=}{date=17.09.2010 03:35}{thema=Re: }{post}{quote}{login=Казанский}{date=17.09.2010 02:59}{thema=}{post}Дальше Enter, перейти в Excel (Alt+F11) и попробовать.  
Если не поможет, снова в Immediate и попробовать  
 
application.EnableEvents =True    
 
и снова попробовать в Excel.  
Если одна из этих команд поможет - искать, какая надстройка или макрос в Personal.xls отключает Ctrl+[ или запрещает события.{/post}{/quote}
 
ничего не помогает...уже переставлял несколько раз, но всё тщетно...где надстройки смотреть не подскажете?{/post}{/quote}  
Если совсем ничего не помогает то пользуйтесь макросом :){/post}{/quote}  
 
 
Скопировал код макроса в Вашем исполнении, запустил - выдаёт ошибку=(  
в этой строке Ph = Replace(Mid(str, 3, InStr(str, "]") - 3), "[", "")
Ошибка: Invalid procedure call or argument
 
Ошибку завершил, и оказалось что макрос работает))) Спасибо, буду тестировать)))
 
{quote}{login=}{date=17.09.2010 04:22}{thema=Re: Re: Re: }{post}{quote}{login=R Dmitry}{date=17.09.2010 03:49}{thema=Re: Re: }{post}{quote}{login=}{date=17.09.2010 03:35}{thema=Re: }{post}{quote}{login=Казанский}{date=17.09.2010 02:59}{thema=}{post}Дальше Enter, перейти в Excel (Alt+F11) и попробовать.  
Если не поможет, снова в Immediate и попробовать  
 
application.EnableEvents =True    
 
и снова попробовать в Excel.  
Если одна из этих команд поможет - искать, какая надстройка или макрос в Personal.xls отключает Ctrl+[ или запрещает события.{/post}{/quote}
 
ничего не помогает...уже переставлял несколько раз, но всё тщетно...где надстройки смотреть не подскажете?{/post}{/quote}  
Если совсем ничего не помогает то пользуйтесь макросом :){/post}{/quote}  
 
 
Скопировал код макроса в Вашем исполнении, запустил - выдаёт ошибку=(  
в этой строке Ph = Replace(Mid(str, 3, InStr(str, "]") - 3), "[", "")
Ошибка: Invalid procedure call or argument{/post}{/quote}  
а ссылка на эту  же книгу?
Спасибо
 
а ссылка на эту  же книгу?{/post}{/quote}  
 
ссылку делал даже на другой файл - работало. Но теперь снова не работает=(((    
И не пойму почему. Я создаю новый макрос, вставляю туда код, выполнить - выдаёт ошибку, завершаю, пережожу в эксель и ни фига сейчас....чё то чан совсем не варит...как правильно то макрос сохранить, чтобы он остался навсегда))?
 
код доделал  
Sub Hotkey()  
'  
' Замена горячей клавиши R Dmitry  
' При условии что в названии паки нет "'!"  
' Сочетание клавиш: Ctrl+й  
'  
Dim Ph As String  
Dim str As String  
Dim sh As String  
Dim adCel As String  
Dim Ofl As Long  
Dim NumP As Long, NumP2 As Long, dp As Double  
str = ActiveCell.Formula  
If str = "" Then Exit Sub  
 
Ofl = InStrRev(str, ":")  
NumP = InStrRev(str, "]")  
If NumP <> 0 Then  
Ph = Replace(Mid(str, 3, InStr(str, "]") - 3), "[", "")
dp = 0  
Else  
Ph = ActiveWorkbook.Name  
dp = 1  
End If  
If Ofl <> 0 Then  
NumP2 = InStrRev(str, "'!")  
sh = Mid(str, NumP + dp + 1, NumP2 - NumP - 1)  
adCel = (Mid(str, NumP2 + 2))  
Workbooks.Open Filename:=Ph  
Application.Goto Reference:=Sheets(sh).Range(adCel)  
Else  
NumP2 = InStrRev(str, "!")  
sh = Mid(str, NumP + 1 + dp, NumP2 - NumP - 1 - dp)  
adCel = (Mid(str, NumP2 + 1))  
Application.Goto Reference:=Workbooks(Ph).Sheets(sh).Range(adCel)  
End If  
End Sub  
сохраните в personal xls и назначьте сочетание клавиш
Спасибо
 
{quote}{login=R Dmitry}{date=17.09.2010 05:27}{thema=}{post}код доделал  
Sub Hotkey()  
'  
' Замена горячей клавиши R Dmitry  
' При условии что в названии паки нет "'!"  
' Сочетание клавиш: Ctrl+й  
'  
Dim Ph As String  
Dim str As String  
Dim sh As String  
Dim adCel As String  
Dim Ofl As Long  
Dim NumP As Long, NumP2 As Long, dp As Double  
str = ActiveCell.Formula  
If str = "" Then Exit Sub  
 
Ofl = InStrRev(str, ":")  
NumP = InStrRev(str, "]")  
If NumP <> 0 Then  
Ph = Replace(Mid(str, 3, InStr(str, "]") - 3), "[", "")
dp = 0  
Else  
Ph = ActiveWorkbook.Name  
dp = 1  
End If  
If Ofl <> 0 Then  
NumP2 = InStrRev(str, "'!")  
sh = Mid(str, NumP + dp + 1, NumP2 - NumP - 1)  
adCel = (Mid(str, NumP2 + 2))  
Workbooks.Open Filename:=Ph  
Application.Goto Reference:=Sheets(sh).Range(adCel)  
Else  
NumP2 = InStrRev(str, "!")  
sh = Mid(str, NumP + 1 + dp, NumP2 - NumP - 1 - dp)  
adCel = (Mid(str, NumP2 + 1))  
Application.Goto Reference:=Workbooks(Ph).Sheets(sh).Range(adCel)  
End If  
End Sub  
сохраните в personal xls и назначьте сочетание клавиш{/post}{/quote}  
 
 
ВСЁ СУПЕР))) РЕСПЕКТ!!! огроменное спасибо))) Записал в персональную книгу и теперь всё пашет)))
 
осталось еще на текущий лист сделать :) только обнаружил!  
сделаю выброшу код попозже
Спасибо
 
{quote}{login=R Dmitry}{date=17.09.2010 06:22}{thema=}{post}осталось еще на текущий лист сделать :) только обнаружил!  
сделаю выброшу код попозже{/post}{/quote}  
 
Буду ждать))
 
Sub Hotkey()  
'ful  
' Замена горячей клавиши R Dmitry  
' При условии что в названии паки нет "'!"  
' Сочетание клавиш: любое  
'  
Dim Ph As String, str As String, sh As String, adCel As String  
Dim Ofl As Long, NumP As Long, NumP2 As Long, dp As Byte  
str = ActiveCell.Formula  
On Error Resume Next  
If str = "" Then Exit Sub  
Ofl = InStrRev(str, ":"): NumP = InStrRev(str, "]")  
 
If NumP <> 0 Then  
   Ph = Replace(Mid(str, 3, InStr(str, "]") - 3), "[", ""): dp = 0
   Else  
   Ph = ActiveWorkbook.Name: dp = 1  
End If  
 
   If Ofl <> 0 Then  
       NumP2 = InStrRev(str, "'!"): sh = Mid(str, NumP + dp + 1, NumP2 - NumP - 1): adCel = (Mid(str, NumP2 + 2))  
       Workbooks.Open Filename:=Ph: Application.Goto Reference:=Sheets(sh).Range(adCel)  
   Else  
       NumP2 = InStrRev(str, "!")  
           If NumP2 = 0 Then  
               Application.Goto Reference:=Range(Mid(str, 2))  
           Else  
               sh = Mid(str, NumP + 1 + dp, NumP2 - NumP - 1 - dp): adCel = (Mid(str, NumP2 + 1))  
               Application.Goto Reference:=Workbooks(Ph).Sheets(sh).Range(adCel)  
           End If  
   End If  
End Sub
Спасибо
 
{quote}{login=R Dmitry}{date=17.09.2010 06:49}{thema=Re: Re: }{post}Sub Hotkey()  
'ful  
' Замена горячей клавиши R Dmitry  
' При условии что в названии паки нет "'!"  
' Сочетание клавиш: любое  
'  
Dim Ph As String, str As String, sh As String, adCel As String  
Dim Ofl As Long, NumP As Long, NumP2 As Long, dp As Byte  
str = ActiveCell.Formula  
On Error Resume Next  
If str = "" Then Exit Sub  
Ofl = InStrRev(str, ":"): NumP = InStrRev(str, "]")  
 
If NumP <> 0 Then  
   Ph = Replace(Mid(str, 3, InStr(str, "]") - 3), "[", ""): dp = 0
   Else  
   Ph = ActiveWorkbook.Name: dp = 1  
End If  
 
   If Ofl <> 0 Then  
       NumP2 = InStrRev(str, "'!"): sh = Mid(str, NumP + dp + 1, NumP2 - NumP - 1): adCel = (Mid(str, NumP2 + 2))  
       Workbooks.Open Filename:=Ph: Application.Goto Reference:=Sheets(sh).Range(adCel)  
   Else  
       NumP2 = InStrRev(str, "!")  
           If NumP2 = 0 Then  
               Application.Goto Reference:=Range(Mid(str, 2))  
           Else  
               sh = Mid(str, NumP + 1 + dp, NumP2 - NumP - 1 - dp): adCel = (Mid(str, NumP2 + 1))  
               Application.Goto Reference:=Workbooks(Ph).Sheets(sh).Range(adCel)  
           End If  
   End If  
End Sub{/post}{/quote}  
 
 
Спасибо Вам ОГРОМНОЕ ещё раз!!! Заменил код на этот - работает.  
P.S. Но не под любое сочетание...поставил себе на Ctrl+я - так удобнее. Пробовал поставить привычный Ха, но работать отказывается - видимо глюк...
Страницы: 1
Читают тему
Наверх