Страницы: 1
RSS
Автоматическое смещение таблицы вниз при заполнении строчки
 
Всем привет!
Вопрос такой, есть таблица которая заполняется каждый день, то есть, каждый день в таблице появляется новая строчка.
Как сделать что бы первая строка в таблице всегда была пустой, при заполнении любой ячейки в этой строке, (например дата) вся таблица смещалась на строчку ниже, и первая строка опять окажется пустой.
Заранее спасибо!
 
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:H1")) Is Nothing Then
        If Application.CountA(Range("A1:H1")) > 0 Then Rows("1:1").Insert Shift:=xlDown
    End If
End Sub
Изменено: Catboyun - 29.11.2017 12:47:32
 
поиском то хоть пользовались вариант от МВТ в теме от 2015 года вот ТУТ
Код
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
    If .Count = 1 And .Row = 1 Then .EntireRow.Insert
End With
End Sub
Лень двигатель прогресса, доказано!!!
 
Сергей, этот вариант не очень подходит: попробуйте нажать клавишу Delete в ячейке первой строки.
 
Юрий М, да нехай будет, автора нет че ему надобно неизвестно, я раза с третьего когда перечитал понял  
Лень двигатель прогресса, доказано!!!
 
Цитата
Сергей написал:
че ему надобно неизвестно
Это почему? Очень даже известно ))
Цитата
bmw323f написал:
что бы первая строка в таблице всегда была пустой, при заполнении любой ячейки в этой строке
 
Извините что долго отвечаю, по пути читаю как макрос добавить.
Как попробую предложенные варианты обязательно сообщу.
 
Цитата
Юрий М написал:
попробуйте нажать клавишу Delete в ячейке первой строки.
Юрий, не совсем понял где именно надо нажать клавишу, если ее нажать, то я просто удалю содержимое ячейки верно?
 
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:H1")) Is Nothing Then
        If Application.CountA(Range("A1:H1")) > 0 Then Rows("1:1").Insert Shift:=xlDown
    End If
End Sub

Подошел! Спасибо большое!
Изменено: bmw323f - 29.11.2017 18:14:42
Страницы: 1
Читают тему
Наверх