View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
BG Lad BG Lad is offline
external usenet poster
 
Posts: 8
Default Run a macro only when deleing a row

Right, but I was referring to the position in code of the Dim statement. If
it is to be located before the "Private Sub ... " statement then it is moved
into the "(General)" section "(Declarations)", is this correct?
--
B Good Lad

"Rick Rothstein" wrote:
You declared the 'rowcount' variable as a Long, but then you do an IsEmpty
test inside the subroutine. IsEmpty will always return False for a variable
declared as anything other than a Variant.

--
Rick (MVP - Excel)


"Gary''s Student" wrote in message
...
Put this Event macro in the worksheet code area:

Dim rowcount As Long
Private Sub Worksheet_Change(ByVal Target As Range)
If IsEmpty(rowcount) Then
Else
If ActiveSheet.UsedRange.Rows.Count = rowcount - 1 Then
MsgBox ("a row was deleted")
End If
End If
rowcount = ActiveSheet.UsedRange.Rows.Count
End Sub

It relies on detecting that the number of rows in UsedRange has been
reduced
by one. Because it is worksheet code, it is very easy to install and use:

1. right-click the tab name near the bottom of the window
2. select View Code - this brings up a VBE window
3. paste the stuff in and close the VBE window

If you save the workbook, the macro will be saved with it.

To remove the macro:

1. bring up the VBE windows as above
2. clear the code out
3. close the VBE window

To learn more about macros in general, see:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

To learn more about Event Macros (worksheet code), see:

http://www.mvps.org/dmcritchie/excel/event.htm


--
Gary''s Student - gsnu200823


"BG Lad" wrote:

Can anyone get me started on where I might put some code that runs when a
row
or any cell is deleted in the worksheet?
--
B Good Lad