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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2015, 14:38   #1
quarkshark
Пользователь
 
Регистрация: 24.01.2015
Сообщений: 22
По умолчанию Переход из одной ячейки в другую

Здесь использован макрос используя условие IF и сделано только первый столбец с переходом после его окончания во второй столбец.

После изменения ячейки В2 и нажатия ENTER становится активной ячейка В3, и т.д., при изменении ячейки В6 становится активной ячейка С2.

Ввод осуществляется по столбцам.

Первый столбец В2:В6, второй столбец С2:С6, и т.д.
После ввода В6 становится активной ячейка С2, и т.д., после ввода С6 становится активной ячейка D2.

Как сделать это в цикле (макрос)?
Можно ли сделать чтобы переход по такой схеме осуществлялся просто при нажатии ENTER в области ячеек (сейчас переход происходит если изменить значение ячейки и нажать ENTER)?
Вложения
Тип файла: zip MakeCycle.zip (10.0 Кб, 15 просмотров)
quarkshark вне форума Ответить с цитированием
Старый 25.01.2015, 15:42   #2
quarkshark
Пользователь
 
Регистрация: 24.01.2015
Сообщений: 22
По умолчанию Код макроса

Код макроса (на 2-а столбца с переходом на 3-ий)
Цитата:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = [B2].Address Then [B3].Select
If Target.Address = [B3].Address Then [B4].Select
If Target.Address = [B4].Address Then [B5].Select
If Target.Address = [B5].Address Then [B6].Select
If Target.Address = [B6].Address Then [C2].Select
If Target.Address = [C2].Address Then [C3].Select
If Target.Address = [C3].Address Then [C4].Select
If Target.Address = [C4].Address Then [C5].Select
If Target.Address = [C5].Address Then [C6].Select
If Target.Address = [C6].Address Then [D2].Select
End Sub
quarkshark вне форума Ответить с цитированием
Старый 25.01.2015, 16:33   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

В модуль нужного листа поместите код:
Код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Static r As Long
    If Target.Count > 1 Then Exit Sub
    If Target.Row = 7 And r = 6 Then
        Application.EnableEvents = False
        Target.Offset(-5, 1).Select
        Application.EnableEvents = True
    End If
    r = Target.Row
End Sub
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 25.01.2015 в 16:35.
SAS888 вне форума Ответить с цитированием
Старый 25.01.2015, 18:01   #4
quarkshark
Пользователь
 
Регистрация: 24.01.2015
Сообщений: 22
По умолчанию

Спасибо SAS888! То что было нужно!
quarkshark вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
переход из одной формы в другую redisodix Общие вопросы Delphi 5 27.11.2014 22:44
Переход из одной программы в другую T.E.A.M. C# (си шарп) 2 13.09.2011 15:38
Переход из одной папки в другую sanya_oz PHP 3 03.01.2011 23:54
Переход из одной формы в другую Axlen Microsoft Office Access 2 22.04.2010 07:40
Передача данных из одной таблицы в другую, при выборе одной ячейки MickMick Microsoft Office Excel 6 06.10.2008 13:57