Hi Aviator,
I'd echo Kenneth in considering another label or something for the warning. That said and as you experienced, the exit event will fire if the control has focus when the form is closed. Maybe set a flag?
Option Explicit
Dim bolClosing As Boolean
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Len(TextBox1.Value) < 4 And Not bolClosing Then
MsgBox "Expenses over $75.00 requires to be substantiated.", vbInformation, "PerDiem Traveler"
'frmReceipt.Show
End If
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
bolClosing = True
End Sub