Страницы: 1
RSS
Добавление новой строки вверх, при вводе данных
 
Необходимо следующее:

Есть 2 столбца. В одном дата, во втором число. Есть ли набор клавиш, или другое решение, которое позволяло бы автоматически добавлять строку вверх, после ввода значений в пустую строку, тем самым сдвигая все значения вниз ?
Например у нас свободная ячейка A1. При вводе числа в эту ячейку и нажатии enter, A1 остается свободной, а введенное значение располагается в ячейке A2. И так каждый раз при вводе значений в A1, они добавляются ниже, при этом все ранее введенные значения также смещаются на 1 ячейку вниз.

По сути эта ячейка A1 - это поле ввода данных, которое добавляет новые значение не в конец таблицы, а в ее начало.
 
В модуль листа
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub 'выделено больше одной ячейки
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        Target.Offset(1, 0).EntireRow.Insert
        Target.Offset(1, 0) = Target
    End If
End Sub
 
Макросом нужно это делать.
 
Kuzmich, спасибо за код, но ничего не происходит. Добавил в модуль листа, но данные добавляются также как и раньше
 
А так?
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LastRow As Long
    If Target.Cells.Count > 1 Then Exit Sub
    If Target = "" Then Exit Sub
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        LastRow = Cells(Rows.Count, 1).End(xlUp).Row
        Application.EnableEvents = False
            Range(Cells(1, 1), Cells(LastRow, 1)).Cut Cells(2, 1)
        End If
    Application.EnableEvents = True
End Sub
 
Юрий М, также не срабатывает(
 
У меня срабатывает. Макросы у Вас разрешены?
 
Цитата
но ничего не происходит
У меня происходит при вводе в А1
 
Проверил на новом файле - работают оба кода. Спасибо  Юрий М и Kuzmich,
Страницы: 1
Читают тему
Наверх