Change Event code

L

L. Howard

This seems easy, but select case and if statements have not worked for me.

Range of cells THESE = D48, I48, N48

Range of cells THOSE = D49, I49, N49

If any cell in THESE change then clear all THOSE.

If any cell in THOSE change then clear all THESE.

Howard
 
G

GS

This seems easy, but select case and if statements have not worked
for me.

Range of cells THESE = D48, I48, N48

Range of cells THOSE = D49, I49, N49

If any cell in THESE change then clear all THOSE.

If any cell in THOSE change then clear all THESE.

Howard

Perhaps you're struggling with the effect of not disabling
'EnableEvents' while your code is running?

--
Garry

Free usenet access at http://www.eternal-september.org
Classic VB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.vb.general.discussion
 
L

L. Howard

Perhaps you're struggling with the effect of not disabling
'EnableEvents' while your code is running?

I used EnableEvents = False/True but no go with what I tried.

I dumped my failures, I will recreate them and post them.

Howard
 
L

L. Howard

I used EnableEvents = False/True but no go with what I tried.

I dumped my failures, I will recreate them and post them.

Howard


Private Sub Worksheet_Change(ByVal Target As Range)

Dim PctCells As Range, AmtCells As Range
Set PctCells = Range("D48,I48,N48")
Set AmtCells = Range("D49,I49,N49")

Application.EnableEvents = False
If Not Application.Intersect(PctCells, Range(Target.Address)) Is Nothing _
Or Application.Intersect(AmtCells, Range(Target.Address)) Is Nothing Then Exit Sub

If Target = PctCells Then AmtCells.ClearContents
If Target = AmtCells Then PctCells.ClearContents
End If

' Select Case Target.Range

' Case Is = PctCells
' AmtCells.ClearContents

' Case Is = AmtCells
' PctCells.ClearContents

' Case Else

' End Select

'End If
Application.EnableEvents = True

End Sub
 
G

GS

Howard, you write such hi-maintenance code for this...

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False
On Error GoTo ErrExit
Select Case Target.Address
Case "$D$48", "$I$48", "$N$48"
Range("$D$49,$I$49,$N$49").ClearContents

Case "$D$49", "$I$49", "$N$49"
Range("D48,I48,N48").ClearContents
End Select

ErrExit:
Application.EnableEvents = True
End Sub

--
Garry

Free usenet access at http://www.eternal-september.org
Classic VB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.vb.general.discussion
 
L

L. Howard

Howard, you write such hi-maintenance code for this...

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False
On Error GoTo ErrExit
Select Case Target.Address
Case "$D$48", "$I$48", "$N$48"
Range("$D$49,$I$49,$N$49").ClearContents

Case "$D$49", "$I$49", "$N$49"
Range("D48,I48,N48").ClearContents
End Select

ErrExit:
Application.EnableEvents = True
End Sub

If my ignorance frustrates you then ignore my posts.

Thanks for the code.

Howard
 
G

GS

If my ignorance frustrates you then ignore my posts.

Thanks for the code.

Howard

Absolutely not the case, ..I was merely expressing an observation in
you that reminds me of myself! I apologize if I offended you as it was
not my intent. Because of my typing difficulties (due to having Lou
Gehrig's), I made a mission of developing code brevity so as not to
'spend' time/energy that could be better 'invested'!

I do see the value in your sample in terms of clarity while trying
stuff. I do the same until a project is complete, then I go through and
clean out all the 'under construction' debris I have scattered
everywhere.

FWIW, I don't consider your learning efforts as ignorance, and your
posts don't frustrate me. Your relentless tenacity for learning reminds
me so very much of myself! Please know I'll continue to help you
however I can. Though I definitely will not always be able to help
you.., I will definitely always want to be helpful!!!

--
Garry

Free usenet access at http://www.eternal-september.org
Classic VB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.vb.general.discussion
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top