ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Cut/Paste - Unwanted Macro Execution (https://www.excelbanter.com/excel-programming/383001-cut-paste-unwanted-macro-execution.html)

TooSimple

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.



Tom Ogilvy

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.





TooSimple

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.






TooSimple

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