Typen unverträglich

Soulhunta

Mitglied
Hi, ich hab ein Problem bei einer einfachen select case Anwendung, es erscheint immer die Fehlermeldung, dass doch die Typen unverträglich seien.
Meine Frage wäre, was falsch ist und warum.
Code:
Private Sub cmdLohnsteuer_Click()

Dim nEinkommen As Integer
Dim sFamilienstand As String
Dim nKinderAnzahl As Integer
Dim sLohnsteuerA As String
Dim sGatte As String

sFamilienstand = Val(txtFamilienstand)
nKinderAnzahl = txtKinder

If sFamilienstand = "Verheiratet" Then
    sGatte = InputBox("Ist ihr Partner auch Berufstätig? (Ja o. Nein)")
End If

Select Case sFamilienstand
    Case sFamilienstand = "Ledig", "Verwitwet", "Geschieden" And nKinderAnzahl = 0
    sLohnsteuerA = "I"
   
    Case sFamilienstand = "Ledig", "Verwitwet", "Geschieden" And nKinderAnzahl > 0
    sLohnsteuerA = "II"
    
    Case sFamilienstand = "Verheiratet" And sGatte = "Nein"
    sLohnsteuerA = "III"
  
    Case sFamilienstand = "Verheiratet" And sGatte = "Ja"
    sLohnsteuerA = "IV"
    
    Case Else
    MsgBox ("Bitte korrigieren Sie Ihre Eingabe")
End Select

txtLohnsteuerA.Value = sLohnsteuerA

End Sub

Es tut mir Leid falls ich einen einfachen Fehler übersehen habe, ich sehe nun leider nur keinen Ausweg mehr.

Vielen Dank schon mal!
 
Hallo, Dein Select ist etwas falsch.
Code:
Private Sub cmdLohnsteuer_Click()
Dim nEinkommen As Integer
Dim sFamilienstand As String
Dim nKinderAnzahl As Integer
Dim sLohnsteuerA As String
Dim sGatte As String

sFamilienstand = txtFamilienstand.Text
nKinderAnzahl = txtKinder.Text

If sFamilienstand = "Verheiratet" Then
    sGatte = InputBox("Ist ihr Partner auch Berufstätig? (Ja o. Nein)")
End If

Select Case LCase(sFamilienstand)

    Case "ledig", "verwitwet", "geschieden"
      If nKinderAnzahl = 0 Then
        sLohnsteuerA = "I"
      ElseIf nKinderAnzahl > 0 Then
        sLohnsteuerA = "II"
      Else
        MsgBox "Falsche Eingabe!"
        Exit Sub
      End If
   
    Case "verheiratet"
      If LCase(sGatte) = "nein" Then
        sLohnsteuerA = "III"
      ElseIf LCase(sGatte) = "ja" Then
        sLohnsteuerA = "IV"
      Else
        MsgBox "Falsche Eingabe!"
        Exit Sub
      End If
  
    Case Else
      MsgBox ("Bitte korrigieren Sie Ihre Eingabe")
    
End Select

  txtLohnsteuerA.Value = sLohnsteuerA

End Sub
 
Zurück