Challenge 3: Explaining and Fixing an Unqualified Reference — Solution Walkthrough Why no error occurred: Cells(i, 4).Value = "Done" is a completely valid VBA statement on its own — Cells and Range references don't strictly require a worksheet to be named in front of them, because VBA automatically assumes you mean the ActiveSheet (whichever tab is currently selected and visible) whenever no worksheet is specified. The code isn't broken or malformed in any way; it genuinely does exactly what it says — it just says less than the colleague actually meant, and VBA has no way to know that the wrong sheet was active when it filled in that gap. Since writing "Done" into column 4 of whatever sheet happens to be active is a perfectly legal operation, VBA has nothing to raise an error about — the mistake is entirely about WHICH sheet the code silently chose, not whether the operation itself was valid. The corrected line: Worksheets("Dashboard").Cells(i, 4).Value = "Done" (substituting whichever worksheet name was actually intended — this example assumes "Dashboard," matching this chapter's own complete FlagOverspending example). Why this fixes it: Naming the worksheet explicitly removes any ambiguity about which sheet the code affects — Cells(i, 4) is no longer resolved against "whatever happens to be active right now," it's resolved against the one specific worksheet named directly in the statement, regardless of which tab the user has open when the macro runs. This is exactly the fully-qualified pattern this chapter's own complete example (FlagOverspending) uses throughout, precisely to make this class of mistake structurally impossible rather than just easy to overlook.