Цитата: как отловить события удаления и вставки строк
Les1at,
Да, таких стандартных событий в Excel нет, зато в нём есть два других, а именно:
"Selection Change" -возникает при смене выбранной ячейки (ячеек)
"Change" - при изменении в самой ячейке (ячейках). Этому событию ВСЕГДА предшествует "Selection Change"
Вот в них и нужно отслеживать события, связанные с вставкой и удалением строк. Для этого, нужно всё время в этих двух событиях запоминать последнюю строку на листе и сравнивать с предыдущим значением. Короче вот:
Код: Dim СтараяПослСтрокаЛист As Long, НоваяПослСтрокаЛист As Long
Private Sub Worksheet_Change(ByVal Target As Range)
НоваяПослСтрокаЛист = 0
On Error Resume Next
НоваяПослСтрокаЛист = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
On Error GoTo 0
If НоваяПослСтрокаЛист < СтараяПослСтрокаЛист Then
MsgBox ("Удалена строка № " & Target.Row)
ElseIf НоваяПослСтрокаЛист > СтараяПослСтрокаЛист Then
MsgBox ("Вставлена строка № " & Target.Row)
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
СтараяПослСтрокаЛист = 0
On Error Resume Next
СтараяПослСтрокаЛист = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
On Error GoTo 0
End Sub