Home |
Search |
Today's Posts |
|
#1
![]() |
|||
|
|||
![]()
In the worksheet_change event, I'm trying to determine if a row has been
deleted. Is there a way to determine what event occurred? |
#2
![]() |
|||
|
|||
![]()
Using the Worksheet_Change event like this:
Private Sub Worksheet_Change(ByVal Target As Range) MsgBox Target.Address(0, 0) End Sub Produces the row number of the row that was deleted. For instance, if you delete row 5, the MsgBox will display "5:5" without the quotes. This works whether or not the row was a blank row. Does that help? HTH Otto "Tim Patton" wrote in message ... In the worksheet_change event, I'm trying to determine if a row has been deleted. Is there a way to determine what event occurred? |
#3
![]() |
|||
|
|||
![]()
Well, that kind of helps. I can't tell yet if a row has been deleted or
inserted. It gets me closer, though, so I appreciate your response! "Otto Moehrbach" wrote: Using the Worksheet_Change event like this: Private Sub Worksheet_Change(ByVal Target As Range) MsgBox Target.Address(0, 0) End Sub Produces the row number of the row that was deleted. For instance, if you delete row 5, the MsgBox will display "5:5" without the quotes. This works whether or not the row was a blank row. Does that help? HTH Otto "Tim Patton" wrote in message ... In the worksheet_change event, I'm trying to determine if a row has been deleted. Is there a way to determine what event occurred? |
#4
![]() |
|||
|
|||
![]()
The following macro will produce "256" if a row has been deleted.
Private Sub Worksheet_Change(ByVal Target As Range) MsgBox Target.Count End Sub HTH Otto "Tim Patton" wrote in message ... Well, that kind of helps. I can't tell yet if a row has been deleted or inserted. It gets me closer, though, so I appreciate your response! "Otto Moehrbach" wrote: Using the Worksheet_Change event like this: Private Sub Worksheet_Change(ByVal Target As Range) MsgBox Target.Address(0, 0) End Sub Produces the row number of the row that was deleted. For instance, if you delete row 5, the MsgBox will display "5:5" without the quotes. This works whether or not the row was a blank row. Does that help? HTH Otto "Tim Patton" wrote in message ... In the worksheet_change event, I'm trying to determine if a row has been deleted. Is there a way to determine what event occurred? |
#5
![]() |
|||
|
|||
![]()
It appears that the target.count is also 256 when a row gets inserted.
"Otto Moehrbach" wrote: The following macro will produce "256" if a row has been deleted. Private Sub Worksheet_Change(ByVal Target As Range) MsgBox Target.Count End Sub HTH Otto "Tim Patton" wrote in message ... Well, that kind of helps. I can't tell yet if a row has been deleted or inserted. It gets me closer, though, so I appreciate your response! "Otto Moehrbach" wrote: Using the Worksheet_Change event like this: Private Sub Worksheet_Change(ByVal Target As Range) MsgBox Target.Address(0, 0) End Sub Produces the row number of the row that was deleted. For instance, if you delete row 5, the MsgBox will display "5:5" without the quotes. This works whether or not the row was a blank row. Does that help? HTH Otto "Tim Patton" wrote in message ... In the worksheet_change event, I'm trying to determine if a row has been deleted. Is there a way to determine what event occurred? |
#6
![]() |
|||
|
|||
![]()
Tim
Yes, it is. I take it that you want to know when a row is inserted and when a row is deleted. Not knowing what your data looks like, it's not easy to nail it down. But one idea that might work for you is to count the number of occupied cells in the row that was changed. The Target row is the new blank row if a row is added, or the row immediately below the row that was deleted. If you know that the row deleted had some data above and below it, then the count would be greater that 1. This would tell you that a row was deleted. Whereas, the count if the row was added will always be zero (0). The only problem you would have is if the row deleted had an empty row immediately below it. The count then would also be zero (0). Perhaps you can come up with some way to check if the last row is gone The count of occupied cells is: Private Sub Worksheet_Change(ByVal Target As Range) MsgBox Application.CountA(Target) End Sub Another idea is for the code to first find out the number of occupied rows after the user's action, then invoke the Undo feature to Undo what the user did. Then the code can find out the number of occupied rows after the Undo. This gives you the number of occupied rows before and after the user's action. HTH Otto "Tim Patton" wrote in message ... It appears that the target.count is also 256 when a row gets inserted. "Otto Moehrbach" wrote: The following macro will produce "256" if a row has been deleted. Private Sub Worksheet_Change(ByVal Target As Range) MsgBox Target.Count End Sub HTH Otto "Tim Patton" wrote in message ... Well, that kind of helps. I can't tell yet if a row has been deleted or inserted. It gets me closer, though, so I appreciate your response! "Otto Moehrbach" wrote: Using the Worksheet_Change event like this: Private Sub Worksheet_Change(ByVal Target As Range) MsgBox Target.Address(0, 0) End Sub Produces the row number of the row that was deleted. For instance, if you delete row 5, the MsgBox will display "5:5" without the quotes. This works whether or not the row was a blank row. Does that help? HTH Otto "Tim Patton" wrote in message ... In the worksheet_change event, I'm trying to determine if a row has been deleted. Is there a way to determine what event occurred? |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
in vba what command is used to determine if a particular cell on a particular sheet changed? some kind of event? how to get the old and new value of the cell? | Excel Worksheet Functions | |||
Same event, multiple sheets? | Excel Discussion (Misc queries) | |||
Excel Automation SelectionChange event | Excel Discussion (Misc queries) | |||
Worksheet Row Change event | Excel Discussion (Misc queries) | |||
formula to determine the first column containing any data | Excel Worksheet Functions |