Мне нужно создать что-то вроде журнала для изменений в Excel Worksheet.
Например, у меня есть этот список:
1. ab c
2. def
3. hij
Когда я удаляю вторую строку, мне нужно скопировать ее данные на другой лист, поэтому мой первый список будет выглядеть так:
1. ab c
3. hij
И второй:
2. def
Теперь я использую этот код:
Private usedRowsCount As Long
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
usedRowsCount = Target.Worksheet.UsedRange.Rows.Count
End Sub
Sub Worksheet_Change(ByVal Target As Range)
If usedRowsCount < Target.Worksheet.UsedRange.Rows.Count Then
Debug.Print "Row Added: ", Target.Address
ElseIf usedRowsCount > Target.Worksheet.UsedRange.Rows.Count Then
Worksheets("Sheet1").Range("A2:L2").Value = Target.Value ' here it inserts values of shifted up row. I need to get values of deleted row(s)
Debug.Print "Row deleted: ", Target.Address
End If
End Sub
Но он копирует не удаленные данные строки, а данные строки ниже удаленного.
Пример списка:
1. ab c
3. hij
Скопированные данные строки в Лист1:
3. hij ---- не "2. def", как ожидалось.
Есть предложения?
Спасибо!