Try this
Private Sub txtRate_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    With Me
        If .txtQty = "" Or .txtRate = "" Then
            MsgBox "Data missing"
            Exit Sub
        Else: .txtAmount.Value = CLng(.txtQty.Value) * CCur(.txtRate.Value)
        End If
    End With
End Sub