deleted cells

K

Karen53

Hi,

Is there a way to catch when cells are deleted from certain columns of a
worksheet?
 
J

Jacob Skaria

Karen, try the worksheet change event..(Right click the sheet tab>view code)

Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Address
End Sub

If this post helps click Yes
 
K

Karen53

Hi Jacob,

Thank you for your reply.

In doing this, won't it give me any change? How do I determine cells were
deleted?
 
J

Jacob Skaria

If you mean delete contents of a cell..

Private Sub Worksheet_Change(ByVal Target As Range)
If IsEmpty(Target) Then MsgBox "Trying to delete contents"
End Sub

If this post helps click Yes
 
K

Karen53

Hi Jacob,

No, I mean acutally deleting the cell, not just the contents. Delete >>
Shift cells up etc. Can this be determined?
 
K

Karen53

I considered comparing the last used cells to the worksheet on activate to
when it deactivates but this would not really tell me if cells were deleted.
More data could have been input and cells deleted giving me the same last
used cell or more cells. I thought perhaps there was a way to tell if
"Delete" was invoked and at what cell.
 
J

Jacob Skaria

Hi Karen

There is no delete event as such; however if you want to track a particular
column try the below..

--If you want to track deletion in ColA
--Select a cell out of the data area in ColA..say (cell A100)
--Define a name say 'lastRow' and enter the row number 100 in the cell
--The below will compare the named range value and its current row number.
If the row number is smaller those are deletions ...

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("lastRow").Row < Range("lastRow").Value Then _
MsgBox "Cells deleted from ColA"
End Sub


If this post helps click Yes
 
K

Karen53

Thanks Jacob!
--
Thanks for your help.
Karen53


Jacob Skaria said:
Hi Karen

There is no delete event as such; however if you want to track a particular
column try the below..

--If you want to track deletion in ColA
--Select a cell out of the data area in ColA..say (cell A100)
--Define a name say 'lastRow' and enter the row number 100 in the cell
--The below will compare the named range value and its current row number.
If the row number is smaller those are deletions ...

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("lastRow").Row < Range("lastRow").Value Then _
MsgBox "Cells deleted from ColA"
End Sub


If this post helps click Yes
 
Top