Здравствуйте, озадачился вопросом, как макросом листа сделать автоматическую смену строки при вводе данных.
Например, человек вводит данные в строку с 1-го по 5-й столбец. И нужно, чтобы после ввода в последнем 5-м столбце активировалась ячейка 1-го столбца следующей строки.Чтобы курсором обратно не возвращаться.
Попробовал вот такой штукой, но она при вводе не работает.
Код
Sub Click()
Dim ARow As Integer, ACol As Long
ARow = ActiveCell.Row
ACol = ActiveCell.Column
If ACol > 5 Then
ARow = ARow + 1
Cells(ARow, 1).Activate
End If
End Sub
а если поставить курсор в ячейку и запустить - переводит.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("E:E")) Is Nothing Then
Target.Offset(1, -4).Activate
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Cells.Count > 1 Then Exit Sub
On Error GoTo 0
If Intersect(Target, Range("A:E")) Is Nothing Then Exit Sub
If Target.Row = 1 Then Exit Sub
If Target.Column = 5 Then
Target.Offset(1, -4).Select
Else
Target.Offset(0, 1).Select
End If
End Sub
Сделайте "Умную таблицу", в ней уже предусмотрена функция перехода к первой ячейке след строки, если активна последняя ячейка текущей строки. Для этого используется клавиша "Tab"