Страницы: 1
RSS
Код нажатой клавиши
 
Здравствуйте. Как узнать код нажатой клавиши на рабочем Листе. Допустим, нужно в ячейке C5 по нажатию Enter перейти в ячкйку F2.
 
была такая тема, посмотрите ...  
 
http://www.planetaexcel.ru/forum.php?thread_id=22203
Редко но метко ...
 
с помощью свойства (листа или книги) onEntry
 
> Как узнать код нажатой клавиши на рабочем Листе  
Трудно это. Тут недавно тема подобная была, поищите.  
 
> нужно в ячейке C5 по нажатию Enter перейти в ячкйку F2  
В код листа  
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
If Target.Address = "$C$6" Then [F2].Select
End Sub  
 
Это, конечно, при "нормальной" настройке приложения - по нажатию Enter переходить на ячейку вниз. При желании можно анализировать  
Application.MoveAfterReturnDirection
 
http://www.planetaexcel.ru/forum.php?thread_id=23218  
(тупиковая ветка развития мысли).
 
Ув. Foxi!  
Определитесь что вам нужно  
Если перехватить управление экселем, то здесь смогут помочь только Гуру по VB и Windows.API, и только при условии что Вы в этой области тоже не 0.  
 
А может?  
Надо::  
При вводе в ячейку С5 перейти на ячейку F2  
??????????????????????????????????????????  
 
Заходите в редактор VBA (ALT+F11)  
жмёте F1 набираете в поиске "Worksheet Change"
 
{quote}{login=Казанский}{date=03.02.2011 09:31}{thema=}{post}    
Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
If Target.Address = "$C$6" Then [F2].Select
End Sub  
{/post}{/quote}
 
С ячейки в ячейку, по нажатию Enter, нужно переходить на заданную ячейку, а не вниз или вправо.    
 
 >Private Sub Worksheet_SelectionChange(ByVal Target As Range)  
 >If Target.Address = "$C$6" Then [F2].Select
 >End Sub  
 
Ячейка C6 тоже нужна, рабочая, если ее выбрать. то переход будет на F2
 
ему нужно перехватить событие ВВОДА в ячейку (onEntry) а не её выбора (SelectionChange).  
Событию onEntry нужно присвоить значение процедуры которая будет выбирать любую ячейку: cells(ЛюбаяСтрока, ЛюбойСтолб).select
 
лучше Private Sub Worksheet_Change(ByVal Target As Range)  
 
тогда, как и требуется при нажатии интер будет переход..  
 
будет правда и при пперетаскивании, и при вставить..
Живи и дай жить..
 
>с помощью свойства (листа или книги) onEntry  
 
Подскажите как, в свойствах Листа и Книги не нашел.
 
Sub auto_open()  
Sheets("Лист111111").OnEntry = "ВыбратьЯчейку"  
End Sub  
 
Sub ВыбратьЯчейку()  
If ActiveCell.Address= АдресЯчейкиГдеОлавливаемНажатиеEnter then  
Sheets("Лист111111").cells(НужнаяСтрока, НужныйСтолб).Select  
End if  
End sub
 
Спасибо всем. По OnEntry все получилось
Страницы: 1
Читают тему
Наверх