Now I understand what's going on.
I am in favor of breaking complex conditions into simple ones, because it gives more control over the execution of the code. If I write the code this way:
(...)
ElseIf ActiveCell.Address(0, 0) = "F26" Then
With Me.Range("G7")
If Len(.Value) > 0 And LCase(.Value) <> LCase("Unprinted") Then
Call UnwindChart(ActiveCell)
End If
End With
End If
then if cell G7 is empty both conditions are checked.
And when I write:
(...)
ElseIf ActiveCell.Address(0, 0) = "F26" Then
With Me.Range("G7")
If Len(.Value) > 0 Then
If LCase(.Value) <> LCase("Unprinted") Then
Call UnwindChart(ActiveCell)
End If
End If
End With
End If
only the first condition will be checked with an empty G7 cell.
Artik