В этой статье я расскажу о приемах автоматического перемещения курсора к следующей ячейке для ввода порядкового номера без нажатия клавиши Enter в Excel.
Автоматический переход к следующей правой ячейке после ввода 4 цифр без нажатия клавиши Enter с помощью VBA
Автозаполнение 4-значного ряда с помощью Kutools for Excel
Автоматический переход к следующей правой ячейке после ввода 4 цифр без нажатия клавиши Enter с помощью VBA
Вот код VBA, который поможет вам автоматически перейти к следующей правой ячейке после ввода 4 цифр без нажатия клавиши Enter.
1. Нажмите Alt + F11 ключи для открытия Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модули и вставьте ниже код VBA в Модули сценарий. Смотрите скриншот:
VBA: автоматический переход к следующей правой ячейке после ввода 4-значного числа.
Sub FourCharEntry1()
'UpdatebyExtendoffice20160614
Dim xStr As String
Dim I As Integer
Dim K As Integer
xStr = Application.InputBox("Enter string", "Kutools for Excel", , , , , , 2)
K = 0
Application.ScreenUpdating = False
For I = 1 To Len(xStr) Step 4
ActiveCell.Offset(0, K) = "'" & Mid(xStr, I, 4)
K = K + 1
Next
Application.ScreenUpdating = True
End Sub
3. Нажмите F5 ключ для запуска кода и Kutools for Excel появляется диалоговое окно, в которое можно вводить порядковые номера без разделителя. Смотрите скриншот:
4. Нажмите OK. Теперь каждые 4 цифры помещены в одну ячейку слева направо.
Функции: Если вы хотите ввести 5-значное, 6-значное… в ячейку, вы можете изменить 4 на 5, 6 или другие в коде.
Автозаполнение 4-значного ряда с помощью Kutools for Excel
Работы С Нами Kutools for Excel — удобный инструмент, вы можете автоматически заполнять номера серий до диапазона, не нажимая клавишу Enter. Вставить порядковый номер утилита.
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
1. Выберите столбец или строку, которую вы хотите заполнить серией, и нажмите Кутулс > Вставить > Вставить порядковый номер. Смотрите скриншот:
2. в Вставить порядковый номер диалоговое окно, нажмите Новинки чтобы развернуть диалог. Смотрите скриншот:
3. Затем укажите нужную серию. Смотрите скриншот:
4. Нажмите Добавить > Диапазон заполнения, то выбранный диапазон был автоматически заполнен порядковыми номерами.
Функции: С Вставить порядковый номер утилита, вы также можете вставлять повторяющиеся серии. Проверьте Конечный номер В диалоговом окне введите желаемый конечный номер в правое текстовое поле, а затем номера серий будут заполняться повторно каждые 10 чисел. Смотрите скриншот:
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (1)
Оценок пока нет. Оцените первым!
SERZH Пользователь Сообщений: 191 |
Добрый день, уважаемые форумчане! |
Z Пользователь Сообщений: 6111 Win 10, MSO 2013 SP1 |
#2 03.04.2013 12:27:05
А после D1 — куда?.. «Ctrl+S» — достойное завершение ваших гениальных мыслей!.. |
||
Юрий М Модератор Сообщений: 60577 Контакты см. в профиле |
Можно использовать событие листа SelectionChange, но оно отслеживается только тогда, когда закончено редактирование ячейки. Т.е. — во время ввода текста отследить количество введённых символов в ячейку не получится. Такое можно проделать с элементами управления. |
SERZH Пользователь Сообщений: 191 |
После D1 никуда. На D1 заканчивается. |
Михаил С. Пользователь Сообщений: 10514 |
#5 03.04.2013 12:36:26
|
||
SERZH Пользователь Сообщений: 191 |
Я так и подумал, что в EXCEL этот вариант может не пройти. Прийдётся ч/з TAB. Спасибо, ребята за участие и подсказки. С уважением, Сергей. |
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
Делал кому-то на старой планете. Допилить диапазон и 4 знака Изменено: KuklP — 03.04.2013 14:11:57 Я сам — дурнее всякого примера! … |
Ну почему ж.. реализуется и не очень сложно. |
|
SERZH Пользователь Сообщений: 191 |
Да, что-то было с интернетом, у нас тоже. Серёжа, спасибо за файлик, он у меня есть, но здесь тоже с TAB,ом, а мне нужен автопереход. Набрал четыре цифры и курсор перескочил автоматом в следующую ячейку. |
Юрий М Модератор Сообщений: 60577 Контакты см. в профиле |
#10 03.04.2013 15:04:23
Моё сообщение пропустили? |
||
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
Сергей, внимательней. С табом переход только в голубых ячейках. В зеленых после первого символа. Я сам — дурнее всякого примера! … |
SERZH Пользователь Сообщений: 191 |
Серёжа, у меня, как у тебя. Полчаса открывал форум. Серёжа и Юра, я вас понял, спасибо, сейчас буду разбираться. |
Михаил С. Пользователь Сообщений: 10514 |
#13 03.04.2013 16:46:24
Такого быть не может. Прикрепленные файлы
|
||
SERZH Пользователь Сообщений: 191 |
#14 03.04.2013 18:25:33 Миша, спасибо огромнейшее. Это то, что нужно. С уважением, Сергей |
В системе pyrus создается форма для заполнения. В форме имеется поле описание для ввода текста. Далее поле описание в pyrusзаполняется и по этой форме выгружается документ из pyrus в формат exels. И это поле описание, отображается не полностью тк слишком много текста. Необходимо что бы при выгрузке документа из pyrus в поле описание был виден весть текст. Что-бы текст в поле описание, автоматический переходил в следующую ячейку, которая расположена ниже, после заполнения текущей ячейки по все длине. Текст из поля описание должен быть полностью уместить в 3х строчках ячейки (А1,А2,А3) по всей длине ячейки.
-
Вопрос заданболее двух лет назад
-
195 просмотров
Пока не закончен ввод значения, нельзя определить, когда переходить на другую ячейку.
Ввели значение, нажали Enter, стрелку вверх, вправо, Tab… Вот оно, событие. И это событие можно отследить.
Код вставить в модуль листа (войти в редактор VBA — Alt+F11)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub ' выход, если выделено более одной ячейки
' выход, если изменяемая ячейка не принадлежит заданному диапазону
If Not Application.Intersect(Range("B3:F10"), Target) Is Nothing Then
' между With/End With все, что с точкой слева
' (продолжение ссылки), относится к Target
With Target
If .Column = 6 Then ' если последний столбец с баллами
.Offset(1, -4).Select ' сместить выделение на нижнюю строку
Else ' если не последний столбец
.Offset(, 1).Select ' выделить ячейку правее
End If
' сумма по строке
Cells(.Row, 7).Value = Val(Cells(.Row, 2).Value) + _
Val(Cells(.Row, 3).Value) + Val(Cells(.Row, 4).Value) + _
Val(Cells(.Row, 5).Value) + Val(Cells(.Row, 6).Value)
' Cells(.Row, 7).Value = Application.Sum(Range(Cells(.Row, 2), Cells(.Row, 6)))
End With
End If
End Sub
Проверяется изменение в диапазоне B3:F10.
При изменении значения ячейки последнего столбца диапазона (в данном случае — F) в заданном диапазоне выделяется первая ячейка следующей строки, при изменении в любой другой выделяется ячейка правее.
Суммировать можно и по отдельности, и функцией листа СУММ(строка закомментирована)
Второй вариант — заполнение диапазона после введения данных.
Диапазон для заполнения B3:F10. Перед заполнением ввести значения в диапазон H3:H10 (например: «01101» в одну ячейку).
Код разместить в общем модуле (в редакторе VBA), для вызова макроса можно нарисовать кнопку на листе.
Sub SetAboutValues()
' определение переменных
Dim ArrValue ' массив
Dim i As Long, j As Long ' счетчики
' заносим в массив введенные данные
ArrValue = Worksheets("Лист1").Range("H3:H10").Value
' расширяем массив на количество баллов плюс столбец для суммы
' с сохранением данных (Preserve)
ReDim Preserve ArrValue(1 To UBound(ArrValue), 1 To 6)
' в цикле перебираем введенные данные ("строки")
For i = 1 To UBound(ArrValue)
' в цикле разносим значения по ячейкам массива
For j = 5 To 1 Step -1
ArrValue(i, j) = Mid$(ArrValue(i, 1), j, 1)
ArrValue(i, 6) = ArrValue(i, 6) + Val(ArrValue(i, j)) ' сумма
Next j
Next i
' выгружаем записанный массив на лист, задав размер диапазона на листе
Worksheets("Лист1").Range("B3").Resize(UBound(ArrValue), 6).Value = ArrValue
End Sub
По умолчанию Excel при нажатии клавиши Enter после ввода данных в ячейку автоматически перемещает указатель ячейки в следующую нижнюю ячейку. Для изменения этого параметра используйте настройку, которая находится в области Параметры правки раздела Дополнительно диалогового окна Параметры Excel (чтобы его открыть, выберите команду Файл ► Параметры) (рис. 30.1).
Поведением указателя ячейки управляет флажок Переход к другой ячейке после нажатия клавиши Enter, выбор движения. Установите его и укажите направление, в котором будет двигаться указатель ячейки (Вниз, Влево, Вверх или Вправо).
Рис. 30.1. Используйте раздел Дополнительно диалогового окна Параметры Excel, чтобы указать, куда перемещать указатель ячейки после нажатия Enter
Вам решать, устанавливать или снимать этот флажок. Я предпочитаю, чтобы флажок был снят, и для перемещения по ячейкам использую клавиши управления курсором, а не клавишу Enter. И понятно, что в этом случае указатель ячейки переместится в том направлении, которое указывает соответствующая клавиша. Например, для ввода данных в строку нажимайте клавишу →, а не Enter. Кроме того, можете использовать клавиши Page Up и Page Down.