ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   simple visual basic question - multiple If statements (https://www.excelbanter.com/excel-programming/385370-simple-visual-basic-question-multiple-if-statements.html)

[email protected]

simple visual basic question - multiple If statements
 
Hello,

I have a code that works perfect for what I am trying to do, but I
don't know how to make it work for more than one field. The
Worksheet_Change part works but Worksheet_Change2 doesn't seem to do
anything.

In the sheet portion of the visual basic I have the following code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$L$72" Then
If IsEmpty(Target) Then Target = "Intel Celeron at 700MHz - $500"
End If
End Sub

Private Sub Worksheet_Change2(ByVal Target As Range)
If Target.Address = "$L$73" Then
If IsEmpty(Target) Then Target = "32KB - $100"
End If
End Sub


Why doesn't the second part work? Is this code just in bad form?

Thanks for your help!

Sean


Jim Thomlinson

simple visual basic question - multiple If statements
 
You can not have a Change2. That is not recognized event code... Try
something like this...

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
Case "$L$72", "$L$100"
If IsEmpty(Target) Then Target = "Intel Celeron at 700MHz - $500"
Case "$L$73"
If IsEmpty(Target) Then Target = "32KB - $100"
Case "$A$1", "$A$10"
MsgBox "Tada"
End Select

If Not Intersect(Target, Range("B1:B100")) Is Nothing Then MsgBox "B Stuff"

End Sub

--
HTH...

Jim Thomlinson


" wrote:

Hello,

I have a code that works perfect for what I am trying to do, but I
don't know how to make it work for more than one field. The
Worksheet_Change part works but Worksheet_Change2 doesn't seem to do
anything.

In the sheet portion of the visual basic I have the following code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$L$72" Then
If IsEmpty(Target) Then Target = "Intel Celeron at 700MHz - $500"
End If
End Sub

Private Sub Worksheet_Change2(ByVal Target As Range)
If Target.Address = "$L$73" Then
If IsEmpty(Target) Then Target = "32KB - $100"
End If
End Sub


Why doesn't the second part work? Is this code just in bad form?

Thanks for your help!

Sean



[email protected]

simple visual basic question - multiple If statements
 
On Mar 15, 11:44 am, Jim Thomlinson <James_Thomlin...@owfg-Re-Move-
This-.com wrote:
You can not have a Change2. That is not recognized event code... Try
something like this...

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
Case "$L$72", "$L$100"
If IsEmpty(Target) Then Target = "Intel Celeron at 700MHz - $500"
Case "$L$73"
If IsEmpty(Target) Then Target = "32KB - $100"
Case "$A$1", "$A$10"
MsgBox "Tada"
End Select

If Not Intersect(Target, Range("B1:B100")) Is Nothing Then MsgBox "B Stuff"

End Sub

--
HTH...

Jim Thomlinson



" wrote:
Hello,


I have a code that works perfect for what I am trying to do, but I
don't know how to make it work for more than one field. The
Worksheet_Change part works but Worksheet_Change2 doesn't seem to do
anything.


In the sheet portion of the visual basic I have the following code:


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$L$72" Then
If IsEmpty(Target) Then Target = "Intel Celeron at 700MHz - $500"
End If
End Sub


Private Sub Worksheet_Change2(ByVal Target As Range)
If Target.Address = "$L$73" Then
If IsEmpty(Target) Then Target = "32KB - $100"
End If
End Sub


Why doesn't the second part work? Is this code just in bad form?


Thanks for your help!


Sean- Hide quoted text -


- Show quoted text -


That's great Jim, thanks a lot for your help and your explanation.


Curt

simple visual basic question - multiple If statements
 
If I follow your responce. I should be able to use case to allow code to copy
to 2 or 3 different worksheets as needed ? New to event procedure.

"Jim Thomlinson" wrote:

You can not have a Change2. That is not recognized event code... Try
something like this...

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Address
Case "$L$72", "$L$100"
If IsEmpty(Target) Then Target = "Intel Celeron at 700MHz - $500"
Case "$L$73"
If IsEmpty(Target) Then Target = "32KB - $100"
Case "$A$1", "$A$10"
MsgBox "Tada"
End Select

If Not Intersect(Target, Range("B1:B100")) Is Nothing Then MsgBox "B Stuff"

End Sub

--
HTH...

Jim Thomlinson


" wrote:

Hello,

I have a code that works perfect for what I am trying to do, but I
don't know how to make it work for more than one field. The
Worksheet_Change part works but Worksheet_Change2 doesn't seem to do
anything.

In the sheet portion of the visual basic I have the following code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$L$72" Then
If IsEmpty(Target) Then Target = "Intel Celeron at 700MHz - $500"
End If
End Sub

Private Sub Worksheet_Change2(ByVal Target As Range)
If Target.Address = "$L$73" Then
If IsEmpty(Target) Then Target = "32KB - $100"
End If
End Sub


Why doesn't the second part work? Is this code just in bad form?

Thanks for your help!

Sean




All times are GMT +1. The time now is 05:17 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com