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