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, 2 months 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
-
National scam day
by
Susan Bradley
1 hour, 17 minutes ago -
macOS Tahoe 26 the end of the road for Intel Macs, OCLP, Hackintosh
by
Alex5723
3 hours, 29 minutes ago -
Cyberattack on some Washington Post journalists’ email accounts
by
Bob99
4 hours, 49 minutes ago -
Tools to support internet discussions
by
Kathy Stevens
11 hours, 39 minutes ago -
How get Group Policy to allow specific Driver to download?
by
Tex265
9 hours, 59 minutes ago -
AI is good sometimes
by
Susan Bradley
12 hours, 1 minute ago -
Mozilla quietly tests Perplexity AI as a New Firefox Search Option
by
Alex5723
2 hours, 4 minutes ago -
Perplexity Pro free for 12 mos for Samsung Galaxy phones
by
Patricia Grace
1 day, 12 hours ago -
June KB5060842 update broke DHCP server service
by
Alex5723
1 day, 10 hours ago -
AMD Ryzen™ Chipset Driver Release Notes 7.06.02.123
by
Alex5723
1 day, 14 hours ago -
Excessive security alerts
by
WSSebastian42
5 hours, 40 minutes ago -
* CrystalDiskMark may shorten SSD/USB Memory life
by
Alex5723
2 days ago -
Ben’s excellent adventure with Linux
by
Ben Myers
1 hour, 38 minutes ago -
Seconds are back in Windows 10!
by
Susan Bradley
1 day, 11 hours ago -
WebBrowserPassView — Take inventory of your stored passwords
by
Deanna McElveen
5 hours, 7 minutes ago -
OS news from WWDC 2025
by
Will Fastie
15 hours, 26 minutes ago -
Need help with graphics…
by
WSBatBytes
19 hours, 40 minutes ago -
AMD : Out of Bounds (OOB) read vulnerability in TPM 2.0 CVE-2025-2884
by
Alex5723
2 days, 15 hours ago -
Totally remove or disable BitLocker
by
CWBillow
1 day, 14 hours ago -
Windows 10 gets 6 years of ESU?
by
n0ads
1 day, 18 hours ago -
Apple, Google stores still offer China-based VPNs, report says
by
Nibbled To Death By Ducks
3 days, 2 hours ago -
Search Forums only bring up my posts?
by
Deo
11 hours, 14 minutes ago -
Windows Spotlight broken on Enterprise and Pro for Workstations?
by
steeviebops
3 days, 14 hours ago -
Denmark wants to dump Microsoft for Linux + LibreOffice
by
Alex5723
3 days, 6 hours ago -
How to get Microsoft Defender to honor Group Policy Setting
by
Ralph
3 days, 14 hours ago -
Apple : Paragon’s iOS Mercenary Spyware Finds Journalists Target
by
Alex5723
4 days, 1 hour ago -
Music : The Rose Room – It’s Been A Long, Long Time album
by
Alex5723
4 days, 2 hours ago -
Disengage Bitlocker
by
CWBillow
3 days, 16 hours ago -
Mac Mini M2 Service Program for No Power Issue
by
Alex5723
4 days, 4 hours ago -
New Win 11 Pro Geekom Setup questions
by
Deo
11 hours, 2 minutes 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.