Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 13
Default Cancel on Worksheet_Change

Hi there,

I am trying to include a Cancel option in a Worksheet_Change event, but I am
having this error message when including the Cancel in the routine:

€śCompile Error. Procedure declaration does not match description of even or
procedure having the same name€ť

My code is as follows:

Private Sub Worksheet_Change(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("XInput")) Is Nothing Then
Else
ReConfigure = MsgBox("You have selected to change X Input" & Chr(10)
& "Pricing needs to be re - calculated" & Chr(10) & "Do you want to
proceed?", vbYesNo)
If ReConfigure = vbNo Then Cancel = True
End If
End sub

Could you please advice?

Thanks

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Cancel on Worksheet_Change

While events are shown declared as subroutines, they are really something
slightly different. You cannot modify the argument list of an event... the
argument list is fixed for each event.

You can do the following to simulate the Cancel functionality. Delete your
existing Worksheet_Change event and replace it with the following...

Dim OriginalValue As Variant

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("XInput")) Is Nothing Then
ReConfigure = MsgBox("You have selected to change X Input" & _
Chr(10) & "Pricing needs to be re - calculated" & _
Chr(10) & "Do you want to proceed?", vbYesNo)
If ReConfigure = vbNo Then
Application.EnableEvents = False
Target.Value = OriginalValue
Application.EnableEvents = True
End If
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
OriginalValue = Target.Value
End Sub

Make sure the Dim OriginalValue statement is located at the top of your
sheet's code window (in the General-Declarations section).

Rick



"Cavy" wrote in message
...
Hi there,

I am trying to include a Cancel option in a Worksheet_Change event, but I
am
having this error message when including the Cancel in the routine:

€śCompile Error. Procedure declaration does not match description of even
or
procedure having the same name€ť

My code is as follows:

Private Sub Worksheet_Change(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("XInput")) Is Nothing Then
Else
ReConfigure = MsgBox("You have selected to change X Input" &
Chr(10)
& "Pricing needs to be re - calculated" & Chr(10) & "Do you want to
proceed?", vbYesNo)
If ReConfigure = vbNo Then Cancel = True
End If
End sub

Could you please advice?

Thanks


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Cancel on Worksheet_Change

By the way, after you set the Target value back to the OriginalValue, you
should put an Exit Sub statement AFTER the Application.EnableEvents=True
statement so any subsequent code you might have in the event procedure won't
operate on the value that was previously there.

Rick


"Rick Rothstein (MVP - VB)" wrote in
message ...
While events are shown declared as subroutines, they are really something
slightly different. You cannot modify the argument list of an event... the
argument list is fixed for each event.

You can do the following to simulate the Cancel functionality. Delete your
existing Worksheet_Change event and replace it with the following...

Dim OriginalValue As Variant

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("XInput")) Is Nothing Then
ReConfigure = MsgBox("You have selected to change X Input" & _
Chr(10) & "Pricing needs to be re - calculated" & _
Chr(10) & "Do you want to proceed?", vbYesNo)
If ReConfigure = vbNo Then
Application.EnableEvents = False
Target.Value = OriginalValue
Application.EnableEvents = True
End If
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
OriginalValue = Target.Value
End Sub

Make sure the Dim OriginalValue statement is located at the top of your
sheet's code window (in the General-Declarations section).

Rick



"Cavy" wrote in message
...
Hi there,

I am trying to include a Cancel option in a Worksheet_Change event, but I
am
having this error message when including the Cancel in the routine:

€śCompile Error. Procedure declaration does not match description of even
or
procedure having the same name€ť

My code is as follows:

Private Sub Worksheet_Change(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("XInput")) Is Nothing Then
Else
ReConfigure = MsgBox("You have selected to change X Input" &
Chr(10)
& "Pricing needs to be re - calculated" & Chr(10) & "Do you want to
proceed?", vbYesNo)
If ReConfigure = vbNo Then Cancel = True
End If
End sub

Could you please advice?

Thanks



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 13
Default Cancel on Worksheet_Change

It worked great, thanks!

"Rick Rothstein (MVP - VB)" wrote:

While events are shown declared as subroutines, they are really something
slightly different. You cannot modify the argument list of an event... the
argument list is fixed for each event.

You can do the following to simulate the Cancel functionality. Delete your
existing Worksheet_Change event and replace it with the following...

Dim OriginalValue As Variant

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("XInput")) Is Nothing Then
ReConfigure = MsgBox("You have selected to change X Input" & _
Chr(10) & "Pricing needs to be re - calculated" & _
Chr(10) & "Do you want to proceed?", vbYesNo)
If ReConfigure = vbNo Then
Application.EnableEvents = False
Target.Value = OriginalValue
Application.EnableEvents = True
End If
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
OriginalValue = Target.Value
End Sub

Make sure the Dim OriginalValue statement is located at the top of your
sheet's code window (in the General-Declarations section).

Rick



"Cavy" wrote in message
...
Hi there,

I am trying to include a Cancel option in a Worksheet_Change event, but I
am
having this error message when including the Cancel in the routine:

€śCompile Error. Procedure declaration does not match description of even
or
procedure having the same name€ť

My code is as follows:

Private Sub Worksheet_Change(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("XInput")) Is Nothing Then
Else
ReConfigure = MsgBox("You have selected to change X Input" &
Chr(10)
& "Pricing needs to be re - calculated" & Chr(10) & "Do you want to
proceed?", vbYesNo)
If ReConfigure = vbNo Then Cancel = True
End If
End sub

Could you please advice?

Thanks



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,501
Default Cancel on Worksheet_Change

Maybe this

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("XInput")) Is Nothing Then
ReConfigure = MsgBox("You have selected to change X Input" _
& Chr(10) & "Pricing needs to be re - calculated" & Chr(10) & _
"Do you want to proceed?", vbYesNo)
End If
If ReConfigure = vbNo Then
MsgBox "You pressed cancel"
'do nothing
Else
MsgBox "You pressed ok"
'do something
End If
End Sub

Mike

"Cavy" wrote:

Hi there,

I am trying to include a Cancel option in a Worksheet_Change event, but I am
having this error message when including the Cancel in the routine:

€śCompile Error. Procedure declaration does not match description of even or
procedure having the same name€ť

My code is as follows:

Private Sub Worksheet_Change(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("XInput")) Is Nothing Then
Else
ReConfigure = MsgBox("You have selected to change X Input" & Chr(10)
& "Pricing needs to be re - calculated" & Chr(10) & "Do you want to
proceed?", vbYesNo)
If ReConfigure = vbNo Then Cancel = True
End If
End sub

Could you please advice?

Thanks



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Workbook_BeforeClose(Cancel As Boolean) - Cancel won't work gpmichal Setting up and Configuration of Excel 1 May 12th 09 02:33 AM
Input box to cancel sub when Cancel is clicked. PCLIVE Excel Programming 5 September 5th 06 03:19 PM
Disabling 'Cancel' option when saving work (Yes/No/Cancel) [email protected] Excel Programming 0 July 11th 06 09:28 PM
Cancel Macro is user selects 'cancel' at save menu Mark Excel Programming 1 April 6th 05 05:45 PM


All times are GMT +1. The time now is 06:57 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"