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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2011, 22:01   #1
dm_alex73
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 14
Восклицание перемещение курсора по таблице

Нашел начало кода и дописал под свою таблицу. но не работает перемещение влево если нажимать Enter без ввода данных. Что интересно, - перемещение влево работает если нажимать Del без удаления данных
Кто подскажет как доработать (сам в VBA только по аналогии могу).

А может еще есть что-нибудь интересное по этой теме?

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column < 11 And Target.Row > 0 Then Cells(Target.Row + 0, Target.Column + 1).Select

If Target.Column = 11 Then Cells(Target.Row + 1, 1).Select

End Sub

Смысл. Курсор идет вправо (при вводе даных) до столбца К, а потом переходит на следующую строку в столбец А

Последний раз редактировалось dm_alex73; 12.02.2011 в 22:05. Причина: Дополнение, описание действия
dm_alex73 вне форума Ответить с цитированием
Старый 12.02.2011, 22:36   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Worksheet_Change реагирует только на изменение ячеек (нажатие Del воспринимается Excel-ем как изменение ячейки)

Хотите, чтобы макрос срабатывал при переходе на другую ячейку - используйте событие Worksheet_SelectionChange
EducatedFool вне форума Ответить с цитированием
Старый 12.02.2011, 22:59   #3
dm_alex73
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 14
По умолчанию

Worksheet_Change[/B] реагирует только на изменение ячеек (нажатие Del воспринимается Excel-ем как изменение ячейки)

Хотите, чтобы макрос срабатывал при переходе на другую ячейку - используйте событие Worksheet_SelectionChange[/QUOTE]

Спасибо, а как в этом случае будет выглядеть код? Я так понял синтаксис там другой. Просто при замене получается полная ерунда.
Заранее спасибо.
dm_alex73 вне форума Ответить с цитированием
Старый 12.02.2011, 23:23   #4
dm_alex73
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 14
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Worksheet_Change реагирует только на изменение ячеек (нажатие Del воспринимается Excel-ем как изменение ячейки)

Хотите, чтобы макрос срабатывал при переходе на другую ячейку - используйте событие Worksheet_SelectionChange
Нашел на одном форуме такое предложение, но не могу понять как его использовать, т.к. оно было не прописано полным кодом:
Application.MoveAfterReturnDirectio n = xlToRight
dm_alex73 вне форума Ответить с цитированием
Старый 12.02.2011, 23:58   #5
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Не надо всего этого. См.рисунок. после этого выделяете диапазон редактирования и курсор будет скакать в нем по Вашим правилам.
Изображения
Тип файла: jpg 2011-02-12_225608.jpg (35.2 Кб, 234 просмотров)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 13.02.2011, 09:10   #6
dm_alex73
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 14
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
Не надо всего этого. См.рисунок. после этого выделяете диапазон редактирования и курсор будет скакать в нем по Вашим правилам.
Вы мня не правильно поняли. С этим инструментом все понятно. Но мне необходимо, чо бы EXCEL воспринимал таблицу, в которой я работаю, как ограниченный массив, после достижения конца строки которого нужно сделать переход на строку вниз с переходом в ее первую ячейку.
dm_alex73 вне форума Ответить с цитированием
Старый 13.02.2011, 09:46   #7
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Смотрите еще вариант.
Вложения
Тип файла: rar List.rar (1.5 Кб, 44 просмотров)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 13.02.2011, 10:13   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

см.вложение. границы таблицы обозначены пунктиром. у меня и на клавиши управления курсором реагирует (только надо ли7)
Вложения
Тип файла: rar Книга575.rar (8.5 Кб, 39 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 13.02.2011 в 10:23.
IgorGO вне форума Ответить с цитированием
Старый 13.02.2011, 10:13   #9
Volodshan
Форумчанин
 
Регистрация: 20.05.2008
Сообщений: 241
По умолчанию

Цитата:
Сообщение от dm_alex73 Посмотреть сообщение
... А может еще есть что-нибудь интересное по этой теме?.. Смысл. Курсор идет вправо (при вводе даных) до столбца К, а потом переходит на следующую строку в столбец А
Вариант - если оформить данные списком/таблицей и переход после ввода стоит "вправо", то по достижении правого края курсор и перейдет в крайнюю левую ячейку нижней строки.
Volodshan вне форума Ответить с цитированием
Старый 13.02.2011, 17:39   #10
dm_alex73
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 14
По умолчанию для IgorGO & kuklp

Цитата:
Сообщение от IgorGO Посмотреть сообщение
см.вложение. границы таблицы обозначены пунктиром. у меня и на клавиши управления курсором реагирует (только надо ли7)
Большое спасибо за отклик, но это не совсем то, что нужно.
Пояснение:
1. есть таблица А1:Е1
2. Курсор при вводе даных (или при нажатии Enter) идет: А1 - В1 - С1 - Е1 - А2 и т.д., т.е по достижении конца таблицы (массива) он переходит в начальную ячейку строки +1.
Прошу прощения, если сразу описал проему не правильно. Спасибо.
dm_alex73 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемещение курсора мыши по экрану Илья2204 Общие вопросы C/C++ 1 08.12.2010 13:34
Перемещение курсора SPQR10000 Общие вопросы Delphi 4 23.10.2010 17:27
Выпадающий список и перемещение курсора valerij Microsoft Office Excel 4 24.05.2010 12:36
Перемещение курсора мыши UNREALcv Помощь студентам 1 11.04.2010 11:39
Перемещение курсора kykysya БД в Delphi 2 07.04.2009 20:33