![]() |
Cut/Paste - Unwanted Macro Execution
I have a worksheet containing the headings Description, Quantity, Unit Cost
and Total Cost for columns B, C, D and E, resp. When an entry is made to the C or D columns the following procedure runs to compute the Total Cost (C * D). Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim vRange As Range Set vRange = Range ("C:D") If Not Intersect (Target, vRange) Is Nothing Then Call CalcTotalCost Multiply values in C and D resulting in E. End If End Sub I would like to allow the user to manually cut the cells in B, C and D from one row and paste into another. When I try to execute this cut/paste process Excel seems to freeze up. This is undoubtedly caused be Excels attempt to execute the code above. Is there a way that the Worksheet_Change process can be suppressed when this cut/paste sequence is performed? Other suggestions or alternate methodology would be appreciated. |
Cut/Paste - Unwanted Macro Execution
Possibly:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim vRange As Range if Target.count 1 then exit sub if Application.CutCopyMode then exit sub Set vRange = Range ("C:D") If Not Intersect (Target, vRange) Is Nothing Then Call CalcTotalCost 'Multiply values in C and D resulting in E. End If End Sub -- Regards, Tom Ogilvy "TooSimple" wrote in message ... I have a worksheet containing the headings Description, Quantity, Unit Cost and Total Cost for columns B, C, D and E, resp. When an entry is made to the C or D columns the following procedure runs to compute the Total Cost (C * D). Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim vRange As Range Set vRange = Range ("C:D") If Not Intersect (Target, vRange) Is Nothing Then Call CalcTotalCost 'Multiply values in C and D resulting in E. End If End Sub I would like to allow the user to manually cut the cells in B, C and D from one row and paste into another. When I try to execute this cut/paste process Excel seems to "freeze up". This is undoubtedly caused be Excel's attempt to execute the code above. Is there a way that the Worksheet_Change process can be suppressed when this cut/paste sequence is performed? Other suggestions or alternate methodology would be appreciated. |
Cut/Paste - Unwanted Macro Execution
Thanks for the quick response, Tom. I'll give your suggestion a try.
"Tom Ogilvy" wrote: Possibly: Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim vRange As Range if Target.count 1 then exit sub if Application.CutCopyMode then exit sub Set vRange = Range ("C:D") If Not Intersect (Target, vRange) Is Nothing Then Call CalcTotalCost 'Multiply values in C and D resulting in E. End If End Sub -- Regards, Tom Ogilvy "TooSimple" wrote in message ... I have a worksheet containing the headings Description, Quantity, Unit Cost and Total Cost for columns B, C, D and E, resp. When an entry is made to the C or D columns the following procedure runs to compute the Total Cost (C * D). Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim vRange As Range Set vRange = Range ("C:D") If Not Intersect (Target, vRange) Is Nothing Then Call CalcTotalCost 'Multiply values in C and D resulting in E. End If End Sub I would like to allow the user to manually cut the cells in B, C and D from one row and paste into another. When I try to execute this cut/paste process Excel seems to "freeze up". This is undoubtedly caused be Excel's attempt to execute the code above. Is there a way that the Worksheet_Change process can be suppressed when this cut/paste sequence is performed? Other suggestions or alternate methodology would be appreciated. |
Cut/Paste - Unwanted Macro Execution
Your recommended code changes below seem to have solved my problem.
Thanks again for your help. "Tom Ogilvy" wrote: Possibly: Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim vRange As Range if Target.count 1 then exit sub if Application.CutCopyMode then exit sub Set vRange = Range ("C:D") If Not Intersect (Target, vRange) Is Nothing Then Call CalcTotalCost 'Multiply values in C and D resulting in E. End If End Sub -- Regards, Tom Ogilvy "TooSimple" wrote in message ... I have a worksheet containing the headings Description, Quantity, Unit Cost and Total Cost for columns B, C, D and E, resp. When an entry is made to the C or D columns the following procedure runs to compute the Total Cost (C * D). Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim vRange As Range Set vRange = Range ("C:D") If Not Intersect (Target, vRange) Is Nothing Then Call CalcTotalCost 'Multiply values in C and D resulting in E. End If End Sub I would like to allow the user to manually cut the cells in B, C and D from one row and paste into another. When I try to execute this cut/paste process Excel seems to "freeze up". This is undoubtedly caused be Excel's attempt to execute the code above. Is there a way that the Worksheet_Change process can be suppressed when this cut/paste sequence is performed? Other suggestions or alternate methodology would be appreciated. |
All times are GMT +1. The time now is 02:13 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com