I am trying to work out the following
![]() |
Patch reliability is unclear. Unless you have an immediate, pressing need to install a specific patch, don't do it. |
SIGN IN | Not a member? | REGISTER | PLUS MEMBERSHIP |
-
If function or Change Event? (2002)
Home » Forums » AskWoody support » Productivity software by function » MS Excel and spreadsheet help » If function or Change Event? (2002)
- This topic has 12 replies, 4 voices, and was last updated 21 years, 1 month ago.
Viewing 3 reply threadsAuthorReplies-
WSHansV
AskWoody LoungerApril 21, 2004 at 8:42 pm #818235Hi Jim,
I think you need the Worksheet_Change event for this:
– Activate the Visual Basic Editor (Alt+F11)
– Activate the Project Explorer (Ctrl+R)
– If necessary, expand your workbook until you see the worksheet in the tree view.
– Double click the worksheet.
– Type or copy the following code:Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range(“D20”)) Is Nothing Then
If LCase(Range(“D20”)) = “yes” Then
Range(“E20”) = “Yes”
End If
End If
End SubComparisons in VBA are case-sensitive by default, so the code tests on LCase(Range(“D20”)) to allow “yes” and “YES” and “Yes”.
-
WSOmega3
AskWoody LoungerApril 22, 2004 at 6:56 pm #818734Thanks Hans. Your code does the job well and I learned a new function, Intersect. I took your code and expanded it to a range of cells (D20:D29).
I used a variable declared as object. Object can be any object so I believe it is late binding. There is no type Cell. Is there a way to change the variable to early binding? Not that this example needs it but just to learn more.
Secondly, my code used For Each
-
WSHansV
AskWoody LoungerApril 22, 2004 at 7:17 pm #818748 -
WSHansV
AskWoody LoungerApril 22, 2004 at 7:17 pm #818749 -
WSsdckapr
AskWoody LoungerApril 22, 2004 at 11:25 pm #818848I just want to “back up” Hans that there is no better way to loop thru all the cells in the range. The only improvement could be if the range could contain something other than text. In that case you could make the “loop range” smaller with the specialcells method.
Other approaches would be to use the FIND method, but with this small of range I would think the extra coding might not be worth it and this looping (at least to me) seems more intuitive.
Steve
-
WSsdckapr
AskWoody LoungerApril 22, 2004 at 11:25 pm #818849I just want to “back up” Hans that there is no better way to loop thru all the cells in the range. The only improvement could be if the range could contain something other than text. In that case you could make the “loop range” smaller with the specialcells method.
Other approaches would be to use the FIND method, but with this small of range I would think the extra coding might not be worth it and this looping (at least to me) seems more intuitive.
Steve
-
-
WSOmega3
AskWoody LoungerApril 22, 2004 at 6:56 pm #818735Thanks Hans. Your code does the job well and I learned a new function, Intersect. I took your code and expanded it to a range of cells (D20:D29).
I used a variable declared as object. Object can be any object so I believe it is late binding. There is no type Cell. Is there a way to change the variable to early binding? Not that this example needs it but just to learn more.
Secondly, my code used For Each
-
-
WSHansV
AskWoody LoungerApril 21, 2004 at 8:42 pm #818236Hi Jim,
I think you need the Worksheet_Change event for this:
– Activate the Visual Basic Editor (Alt+F11)
– Activate the Project Explorer (Ctrl+R)
– If necessary, expand your workbook until you see the worksheet in the tree view.
– Double click the worksheet.
– Type or copy the following code:Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range(“D20”)) Is Nothing Then
If LCase(Range(“D20”)) = “yes” Then
Range(“E20”) = “Yes”
End If
End If
End SubComparisons in VBA are case-sensitive by default, so the code tests on LCase(Range(“D20”)) to allow “yes” and “YES” and “Yes”.
-
WSpieterse
AskWoody LoungerApril 22, 2004 at 10:01 am #818526You might use a deliberate circular reference.
Go to tools, options, calculation and check the iteration box.Change the formula to (assumed it is in cell A!):
=If(D20=”Yes”,”Yes”,A1)
One culprit though: it only works if iteration is set. Since this option is a systemwide setting, you need to explicitly set it in the workbook_Open event in the thisworkbook module (and restore the previous setting in the Before_Close routine). Otherwise the user might be presented with the circ error message.
-
WSpieterse
AskWoody LoungerApril 22, 2004 at 10:01 am #818527You might use a deliberate circular reference.
Go to tools, options, calculation and check the iteration box.Change the formula to (assumed it is in cell A!):
=If(D20=”Yes”,”Yes”,A1)
One culprit though: it only works if iteration is set. Since this option is a systemwide setting, you need to explicitly set it in the workbook_Open event in the thisworkbook module (and restore the previous setting in the Before_Close routine). Otherwise the user might be presented with the circ error message.
Viewing 3 reply threads -

Plus Membership
Donations from Plus members keep this site going. You can identify the people who support AskWoody by the Plus badge on their avatars.
AskWoody Plus members not only get access to all of the contents of this site -- including Susan Bradley's frequently updated Patch Watch listing -- they also receive weekly AskWoody Plus Newsletters (formerly Windows Secrets Newsletter) and AskWoody Plus Alerts, emails when there are important breaking developments.
Get Plus!
Welcome to our unique respite from the madness.
It's easy to post questions about Windows 11, Windows 10, Win8.1, Win7, Surface, Office, or browse through our Forums. Post anonymously or register for greater privileges. Keep it civil, please: Decorous Lounge rules strictly enforced. Questions? Contact Customer Support.
Search Newsletters
Search Forums
View the Forum
Search for Topics
Recent Topics
-
Mozilla Firefox Security Updates! Released late 17th May 2025
by
Alex5723
3 hours, 14 minutes ago -
Microsoft: Troubleshoot problems updating Windows
by
Alex5723
8 minutes ago -
Woman Files for Divorce After ChatGPT “Reads” Husband’s Coffee Cup
by
Alex5723
7 hours, 13 minutes ago -
Moving fwd, Win 11 Pro,, which is best? Lenovo refurb
by
Deo
39 minutes ago -
DBOS Advanced Network Analysis
by
Kathy Stevens
17 hours, 3 minutes ago -
Microsoft Edge Launching Automatically?
by
healeyinpa
7 hours, 28 minutes ago -
Google Chrome to block admin-level browser launches for better security
by
Alex5723
19 hours, 43 minutes ago -
iPhone SE2 Stolen Device Protection
by
Rick Corbett
11 hours, 59 minutes ago -
Some advice for managing my wireless internet gateway
by
LHiggins
7 hours, 40 minutes ago -
NO POWER IN KEYBOARD OR MOUSE
by
HE48AEEXX77WEN4Edbtm
13 hours, 55 minutes ago -
A CVE-MITRE-CISA-CNA Extravaganza
by
Nibbled To Death By Ducks
1 day, 5 hours ago -
Sometimes I wonder about these bots
by
Susan Bradley
1 day, 1 hour ago -
Does windows update component store “self heal”?
by
Mike Cross
15 hours, 32 minutes ago -
Windows 11 Insider Preview build 27858 released to Canary
by
joep517
1 day, 19 hours ago -
Pwn2Own Berlin 2025: Day One Results
by
Alex5723
3 hours, 7 minutes ago -
Windows 10 might repeatedly display the BitLocker recovery screen at startup
by
Susan Bradley
6 hours, 47 minutes ago -
Windows 11 Insider Preview Build 22631.5409 (23H2) released to Release Preview
by
joep517
1 day, 21 hours ago -
Windows 10 Build 19045.5912 (22H2) to Release Preview Channel
by
joep517
1 day, 21 hours ago -
Kevin Beaumont on Microsoft Recall
by
Susan Bradley
1 day, 10 hours ago -
The Surface Laptop Studio 2 is no longer being manufactured
by
Alex5723
2 days, 6 hours ago -
0Patch, where to begin
by
cassel23
2 days ago -
CFPB Quietly Kills Rule to Shield Americans From Data Brokers
by
Alex5723
2 days, 19 hours ago -
89 million Steam account details just got leaked,
by
Alex5723
2 days, 7 hours ago -
KB5058405: Linux – Windows dual boot SBAT bug, resolved with May 2025 update
by
Alex5723
3 days, 4 hours ago -
A Validation (were one needed) of Prudent Patching
by
Nibbled To Death By Ducks
2 days, 19 hours ago -
Master Patch Listing for May 13, 2025
by
Susan Bradley
2 days, 6 hours ago -
Installer program can’t read my registry
by
Peobody
3 hours, 19 minutes ago -
How to keep Outlook (new) in off position for Windows 11
by
EspressoWillie
2 days, 16 hours ago -
Intel : CVE-2024-45332, CVE-2024-43420, CVE-2025-20623
by
Alex5723
3 days ago -
False error message from eMClient
by
WSSebastian42
3 days, 15 hours ago
Recent blog posts
Key Links
Want to Advertise in the free newsletter? How about a gift subscription in honor of a birthday? Send an email to sb@askwoody.com to ask how.
Mastodon profile for DefConPatch
Mastodon profile for AskWoody
Home • About • FAQ • Posts & Privacy • Forums • My Account
Register • Free Newsletter • Plus Membership • Gift Certificates • MS-DEFCON Alerts
Copyright ©2004-2025 by AskWoody Tech LLC. All Rights Reserved.