Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 440
Default conflict in code somewhere

Hi,
The following code works in a Worksheet_Change (ByVal Target As Range) event:

' Displays message box when "C" is selected in H
Dim Res3 As VbMsgBoxResult
If Not Intersect(Target, Me.Range("H4:H4000")) Is Nothing Then
With Target
If Target.Value = "C" Then
If Target.Offset(, -1) = "" Then
Application.EnableEvents = False
Res3 = MsgBox("No account has been selected!", vbOKOnly, "Charging of
accounts")
Target.Value = vbNullString
Else
Res3 = MsgBox("Is this item to be charged to an account?", vbYesNo,
"Charging of accounts")
If Res3 = vbNo Then
Target.Value = vbNullString
Else
UserForm7.Show
End If
Application.EnableEvents = True
End If
End If

When another function is added to the same Worksheet_Change code, the second
one (below) doesn't work.

However, if the first one is removed, it works fine:

' when date entered in "K", checks "H"
Dim Res4 As VbMsgBoxResult
Const Myrange3 = "K4:K4000"
If Not Intersect(Target, Me.Range("K4:K4000")) Is Nothing Then
Exit Sub
End If
If IsDate(Target) And Target.Offset(, -3) = "" Or Target.Offset(, -3)
= "N" Then
Application.EnableEvents = False
Res4 = MsgBox("Cannot issue claim without payment!")
Target.ClearContents
Application.EnableEvents = True
End If


The first code above is currently at the end of about 4 pages of other code
in Sheet!1 all of which works ok until the second one is added.
I have three other subs to add but until I can figure out why they don't
work, when added in, I am stuck.


Can I have a second Worksheet_Change event to put these into or can they be
placed in ThisWorkbook or in a module?
Help!
Thanks in advance.
--
Traa Dy Liooar

Jock
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,298
Default conflict in code somewhere

you use
WITH target
there's ne end with and you don't use any of Target's properties.
you dim a const but don't use it.

what error messages do you get
put
OPTION EXPLICIT
at the top of the module, then from the menu select DEBUG/COMPILE

you can only have one event handler for a given event. Ideally, the event
code shoudl be quite short, or it should call procedures in a general Module
- this enable other sheet events to use the same code etc etc











"Jock" wrote:

Hi,
The following code works in a Worksheet_Change (ByVal Target As Range) event:

' Displays message box when "C" is selected in H
Dim Res3 As VbMsgBoxResult
If Not Intersect(Target, Me.Range("H4:H4000")) Is Nothing Then
With Target
If Target.Value = "C" Then
If Target.Offset(, -1) = "" Then
Application.EnableEvents = False
Res3 = MsgBox("No account has been selected!", vbOKOnly, "Charging of
accounts")
Target.Value = vbNullString
Else
Res3 = MsgBox("Is this item to be charged to an account?", vbYesNo,
"Charging of accounts")
If Res3 = vbNo Then
Target.Value = vbNullString
Else
UserForm7.Show
End If
Application.EnableEvents = True
End If
End If

When another function is added to the same Worksheet_Change code, the second
one (below) doesn't work.

However, if the first one is removed, it works fine:

' when date entered in "K", checks "H"
Dim Res4 As VbMsgBoxResult
Const Myrange3 = "K4:K4000"
If Not Intersect(Target, Me.Range("K4:K4000")) Is Nothing Then
Exit Sub
End If
If IsDate(Target) And Target.Offset(, -3) = "" Or Target.Offset(, -3)
= "N" Then
Application.EnableEvents = False
Res4 = MsgBox("Cannot issue claim without payment!")
Target.ClearContents
Application.EnableEvents = True
End If


The first code above is currently at the end of about 4 pages of other code
in Sheet!1 all of which works ok until the second one is added.
I have three other subs to add but until I can figure out why they don't
work, when added in, I am stuck.


Can I have a second Worksheet_Change event to put these into or can they be
placed in ThisWorkbook or in a module?
Help!
Thanks in advance.
--
Traa Dy Liooar

Jock

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 440
Default conflict in code somewhere

Hi Patrick,
I don't get any error messages - that's half my problem. If I did, I could
wrestle with it.
The 'end with' is there, I missed it when copying the code though.
Rather than use Target, is there another option?
tbh, I'm a bit confused as I have a number of workbooks which do different
things and I have put this one together using code from the other
spreadsheets and from posts on this forum.
Unfortunately, I don't understand enough to sort it out!
Thanks,

--
Traa Dy Liooar

Jock


"Patrick Molloy" wrote:

you use
WITH target
there's ne end with and you don't use any of Target's properties.
you dim a const but don't use it.

what error messages do you get
put
OPTION EXPLICIT
at the top of the module, then from the menu select DEBUG/COMPILE

you can only have one event handler for a given event. Ideally, the event
code shoudl be quite short, or it should call procedures in a general Module
- this enable other sheet events to use the same code etc etc











"Jock" wrote:

Hi,
The following code works in a Worksheet_Change (ByVal Target As Range) event:

' Displays message box when "C" is selected in H
Dim Res3 As VbMsgBoxResult
If Not Intersect(Target, Me.Range("H4:H4000")) Is Nothing Then
With Target
If Target.Value = "C" Then
If Target.Offset(, -1) = "" Then
Application.EnableEvents = False
Res3 = MsgBox("No account has been selected!", vbOKOnly, "Charging of
accounts")
Target.Value = vbNullString
Else
Res3 = MsgBox("Is this item to be charged to an account?", vbYesNo,
"Charging of accounts")
If Res3 = vbNo Then
Target.Value = vbNullString
Else
UserForm7.Show
End If
Application.EnableEvents = True
End If
End If

When another function is added to the same Worksheet_Change code, the second
one (below) doesn't work.

However, if the first one is removed, it works fine:

' when date entered in "K", checks "H"
Dim Res4 As VbMsgBoxResult
Const Myrange3 = "K4:K4000"
If Not Intersect(Target, Me.Range("K4:K4000")) Is Nothing Then
Exit Sub
End If
If IsDate(Target) And Target.Offset(, -3) = "" Or Target.Offset(, -3)
= "N" Then
Application.EnableEvents = False
Res4 = MsgBox("Cannot issue claim without payment!")
Target.ClearContents
Application.EnableEvents = True
End If


The first code above is currently at the end of about 4 pages of other code
in Sheet!1 all of which works ok until the second one is added.
I have three other subs to add but until I can figure out why they don't
work, when added in, I am stuck.


Can I have a second Worksheet_Change event to put these into or can they be
placed in ThisWorkbook or in a module?
Help!
Thanks in advance.
--
Traa Dy Liooar

Jock

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,565
Default conflict in code somewhere

I would write this:

If IsDate(Target) And Target.Offset(, -3) = "" Or Target.Offset(, -3)
= "N" Then

Like this:

If IsDate(Target) And Target.Offset(, -3) = "" Then
If Target.Offset(, -3) = "N" Then
'rest of statement
End If
End If




"Jock" wrote in message
...
Hi,
The following code works in a Worksheet_Change (ByVal Target As Range)
event:

' Displays message box when "C" is selected in H
Dim Res3 As VbMsgBoxResult
If Not Intersect(Target, Me.Range("H4:H4000")) Is Nothing Then
With Target
If Target.Value = "C" Then
If Target.Offset(, -1) = "" Then
Application.EnableEvents = False
Res3 = MsgBox("No account has been selected!", vbOKOnly, "Charging of
accounts")
Target.Value = vbNullString
Else
Res3 = MsgBox("Is this item to be charged to an account?",
vbYesNo,
"Charging of accounts")
If Res3 = vbNo Then
Target.Value = vbNullString
Else
UserForm7.Show
End If
Application.EnableEvents = True
End If
End If

When another function is added to the same Worksheet_Change code, the
second
one (below) doesn't work.

However, if the first one is removed, it works fine:

' when date entered in "K", checks "H"
Dim Res4 As VbMsgBoxResult
Const Myrange3 = "K4:K4000"
If Not Intersect(Target, Me.Range("K4:K4000")) Is Nothing Then
Exit Sub
End If
If IsDate(Target) And Target.Offset(, -3) = "" Or
Target.Offset(, -3)
= "N" Then
Application.EnableEvents = False
Res4 = MsgBox("Cannot issue claim without payment!")
Target.ClearContents
Application.EnableEvents = True
End If


The first code above is currently at the end of about 4 pages of other
code
in Sheet!1 all of which works ok until the second one is added.
I have three other subs to add but until I can figure out why they don't
work, when added in, I am stuck.


Can I have a second Worksheet_Change event to put these into or can they
be
placed in ThisWorkbook or in a module?
Help!
Thanks in advance.
--
Traa Dy Liooar

Jock



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,565
Default conflict in code somewhere

Disregard that. Try this:

If Target.Offset(, 3) = "" Or Target.Offset(, 3) = N Then
If IsDate(Target) Then
'Rest of statement
End If
End If


"Jock" wrote in message
...
Hi,
The following code works in a Worksheet_Change (ByVal Target As Range)
event:

' Displays message box when "C" is selected in H
Dim Res3 As VbMsgBoxResult
If Not Intersect(Target, Me.Range("H4:H4000")) Is Nothing Then
With Target
If Target.Value = "C" Then
If Target.Offset(, -1) = "" Then
Application.EnableEvents = False
Res3 = MsgBox("No account has been selected!", vbOKOnly, "Charging of
accounts")
Target.Value = vbNullString
Else
Res3 = MsgBox("Is this item to be charged to an account?",
vbYesNo,
"Charging of accounts")
If Res3 = vbNo Then
Target.Value = vbNullString
Else
UserForm7.Show
End If
Application.EnableEvents = True
End If
End If

When another function is added to the same Worksheet_Change code, the
second
one (below) doesn't work.

However, if the first one is removed, it works fine:

' when date entered in "K", checks "H"
Dim Res4 As VbMsgBoxResult
Const Myrange3 = "K4:K4000"
If Not Intersect(Target, Me.Range("K4:K4000")) Is Nothing Then
Exit Sub
End If
If IsDate(Target) And Target.Offset(, -3) = "" Or
Target.Offset(, -3)
= "N" Then
Application.EnableEvents = False
Res4 = MsgBox("Cannot issue claim without payment!")
Target.ClearContents
Application.EnableEvents = True
End If


The first code above is currently at the end of about 4 pages of other
code
in Sheet!1 all of which works ok until the second one is added.
I have three other subs to add but until I can figure out why they don't
work, when added in, I am stuck.


Can I have a second Worksheet_Change event to put these into or can they
be
placed in ThisWorkbook or in a module?
Help!
Thanks in advance.
--
Traa Dy Liooar

Jock





  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 440
Default conflict in code somewhere

OK, thanks JLG.
--
Traa Dy Liooar

Jock


"JLGWhiz" wrote:

Disregard that. Try this:

If Target.Offset(, 3) = "" Or Target.Offset(, 3) = N Then
If IsDate(Target) Then
'Rest of statement
End If
End If


"Jock" wrote in message
...
Hi,
The following code works in a Worksheet_Change (ByVal Target As Range)
event:

' Displays message box when "C" is selected in H
Dim Res3 As VbMsgBoxResult
If Not Intersect(Target, Me.Range("H4:H4000")) Is Nothing Then
With Target
If Target.Value = "C" Then
If Target.Offset(, -1) = "" Then
Application.EnableEvents = False
Res3 = MsgBox("No account has been selected!", vbOKOnly, "Charging of
accounts")
Target.Value = vbNullString
Else
Res3 = MsgBox("Is this item to be charged to an account?",
vbYesNo,
"Charging of accounts")
If Res3 = vbNo Then
Target.Value = vbNullString
Else
UserForm7.Show
End If
Application.EnableEvents = True
End If
End If

When another function is added to the same Worksheet_Change code, the
second
one (below) doesn't work.

However, if the first one is removed, it works fine:

' when date entered in "K", checks "H"
Dim Res4 As VbMsgBoxResult
Const Myrange3 = "K4:K4000"
If Not Intersect(Target, Me.Range("K4:K4000")) Is Nothing Then
Exit Sub
End If
If IsDate(Target) And Target.Offset(, -3) = "" Or
Target.Offset(, -3)
= "N" Then
Application.EnableEvents = False
Res4 = MsgBox("Cannot issue claim without payment!")
Target.ClearContents
Application.EnableEvents = True
End If


The first code above is currently at the end of about 4 pages of other
code
in Sheet!1 all of which works ok until the second one is added.
I have three other subs to add but until I can figure out why they don't
work, when added in, I am stuck.


Can I have a second Worksheet_Change event to put these into or can they
be
placed in ThisWorkbook or in a module?
Help!
Thanks in advance.
--
Traa Dy Liooar

Jock




  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default conflict in code somewhere

Typo alert...

Put that "N" in double quotes.

JLGWhiz wrote:

Disregard that. Try this:

If Target.Offset(, 3) = "" Or Target.Offset(, 3) = N Then
If IsDate(Target) Then
'Rest of statement
End If
End If

"Jock" wrote in message
...
Hi,
The following code works in a Worksheet_Change (ByVal Target As Range)
event:

' Displays message box when "C" is selected in H
Dim Res3 As VbMsgBoxResult
If Not Intersect(Target, Me.Range("H4:H4000")) Is Nothing Then
With Target
If Target.Value = "C" Then
If Target.Offset(, -1) = "" Then
Application.EnableEvents = False
Res3 = MsgBox("No account has been selected!", vbOKOnly, "Charging of
accounts")
Target.Value = vbNullString
Else
Res3 = MsgBox("Is this item to be charged to an account?",
vbYesNo,
"Charging of accounts")
If Res3 = vbNo Then
Target.Value = vbNullString
Else
UserForm7.Show
End If
Application.EnableEvents = True
End If
End If

When another function is added to the same Worksheet_Change code, the
second
one (below) doesn't work.

However, if the first one is removed, it works fine:

' when date entered in "K", checks "H"
Dim Res4 As VbMsgBoxResult
Const Myrange3 = "K4:K4000"
If Not Intersect(Target, Me.Range("K4:K4000")) Is Nothing Then
Exit Sub
End If
If IsDate(Target) And Target.Offset(, -3) = "" Or
Target.Offset(, -3)
= "N" Then
Application.EnableEvents = False
Res4 = MsgBox("Cannot issue claim without payment!")
Target.ClearContents
Application.EnableEvents = True
End If


The first code above is currently at the end of about 4 pages of other
code
in Sheet!1 all of which works ok until the second one is added.
I have three other subs to add but until I can figure out why they don't
work, when added in, I am stuck.


Can I have a second Worksheet_Change event to put these into or can they
be
placed in ThisWorkbook or in a module?
Help!
Thanks in advance.
--
Traa Dy Liooar

Jock


--

Dave Peterson
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
Name Conflict Roger[_4_] Excel Discussion (Misc queries) 2 March 15th 08 01:13 AM
Name Conflict Roger[_4_] Excel Discussion (Misc queries) 5 March 14th 08 02:14 PM
conflict with code Curt Excel Programming 7 March 17th 07 12:25 PM
Conflict Don Lloyd Excel Programming 2 October 11th 03 11:44 PM
Name conflict John Turton Excel Programming 2 August 28th 03 04:47 PM


All times are GMT +1. The time now is 04:55 PM.

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

About Us

"It's about Microsoft Excel"