Страницы: 1
RSS
Копирование ячеек на другой лист с проставлением даты и времени внесённых изменений.
 
Доброго времени суток.
Подскажите пожалуйста как доработать код, ситуация следующая:
В прикрепленном файле на первом листе (поддоны) вводится информация по приходу и отправки поддонов в ячейках В9 и В10, когда информация ввелась, во 2 лист скидывается статистика занесения и изменения с датой - это работает как мне нужно.

Проблема заключается в следующем: когда во 2 лист скидывается информация, то новое занесение спускается на 1 строчку вниз и это будет не удобно, когда их будет очень много, нужно будет много пролистывать, чтобы посмотреть последние изменения.

Нужно сделать так, чтобы происходили занесения статистики на 2-ом листе в обратном порядке т.е. новые внесения оставались сверху начиная с  3 строчки (первые 2 трогать нельзя), а старые спускались вниз.

Заранее спасибо.
 
Юрий, какой код конкретно у вас файле форма коды к ним, просто код понял, не работал просто изначально

просто так сделайте) все остальное без изменений
Код
    With ThisWorkbook.Sheets("2450х1250")
    'в Юнионе перечислите ячейки которые должны быть скопированы
        .Rows(3).Insert
        Excel.Application.Union(Me.Cells(iRow, 2), Me.Cells(iRow, 1)).Copy .Cells(3, 1)
    End With
Изменено: Mershik - 31.03.2021 11:39:59
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
новое занесение спускается на 1 строчку вниз и это будет не удобно
Новое значение заносите в 3-ю строку
Код
    With ThisWorkbook.Sheets("2450х1250")
    'в Юнионе перечислите ячейки которые должны быть скопированы
        .Rows(3).Insert
        Excel.Application.Union(Me.Cells(iRow, 2), Me.Cells(iRow, 1)).Copy .Range("A3")
'        .Cells(.Columns(1).End(xlDown).Row + 1, 1)
    End With
 
Код, вот такой.
Код
Private Sub Worksheet_Change(ByVal Target As Excel.Range) 
    If Target.Count > 1 Then Exit Sub   
    Dim iRow&: iRow = Target.Row
    Dim iCol&: iCol = Target.Column
If iCol = 2 Then    
    With ThisWorkbook.Sheets("2450x1250")
        Excel.Application.Union(Me.Cells(iRow, 2), Me.Cells(iRow, 1)).Copy .Cells(.Columns(1).End(xlDown).Row + 1, 1)
    End With
End If
 
Всем большое спасибо за помощь все работает)))
Страницы: 1
Наверх