Hallo,
ich habe ein Problem mit einer Do Until Schleife, bei der die Ausstiegsbedingung wird nicht erfüllt wird obwohl alle Werte in den Variablen stimmen.
Hier erstmal der Quellcode:
Private Sub UserForm_Click()
Dim txtAnfang As Integer
Dim txtZins As Integer
Dim txtWunsch As Integer
Dim txtLaufzeit As Integer
Dim intBetrag As Integer
Dim intZinsen As Integer
End Sub
Private Sub cmdBerechnen_Click()
txtLaufzeit = 0
intZinsen = 0
intBetrag = txtAnfang
Do
intZinsen = intBetrag / 100 * txtZins
intBetrag = intBetrag + intZinsen
MsgBox "Zins " & txtZins & vbCr & "Zinsen " & intZinsen & vbCr & "Betrag " & intBetrag & vbCr & "Wunsch " & txtWunsch
txtLaufzeit = txtLaufzeit + 1
'If intBetrag = txtWunsch Then
' Exit Do
'End If
Loop Until intBetrag > txtWunsch
End Sub
Private Sub cmdEnde_Click()
Me.Hide
End Sub
txtAnfang, txtZins und txtWunsch kommen aus Textfeldern eines Userform, das Ergebnis wird dann in txtLaufzeit gespeichert und im userform angezeigt. Der Benutzer gibt z.B. einen Anfangsbetrag ein (1000€), einen Zinssatz (5%) und einen Wunschbetrag den er erreichen will (1150), und bekommt dann die Laufzeit angezeigt, die benötigt wird um den Betrag zu erreichen (sollten in dem Fall 3 Jahre sein). Die Ausstiegsbedingung "Loop Until intBetrag > txtWunsch wird aber nie erfüllt, obwohl die in der zur Überprfung ausgegebenen Werte in der Messagebox alle passen (txtWunsch hat also den Wert 1150). Ersetze ich in der Ausstiegsbedingung allerdings "txtWunsch" mit der Zahl "1150" wird die Schleife korrekt beendet.
Ich hoffe ich hab alles verständlich beschrieben, und das mit jemand weiterhelfen, denn ich komme nicht drauf wo das Problem liegt...
Gruß
Ralle
|