Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
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. |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
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. |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
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. |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
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. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Unwanted code execution | Excel Discussion (Misc queries) | |||
Macro Execution | Excel Discussion (Misc queries) | |||
copy/paste excel to texteditor -> multi-line text cells gain unwanted double-quotes | Excel Discussion (Misc queries) | |||
Macro execution limit | Excel Programming | |||
Automatic execution of macro | Excel Programming |