Zinsrechner II, mit Monatszahlung in ListBox

Zinsrechner mit Monatszahlung in ListBox: Fehler abfangen
Private Sub Form_Load()
Me.Move (Screen.Width - Me.Width) / 3, (Screen.Height - _ BildschirmAusgabe des Formulars links oben.
Me.Height) / 3
Me.Caption = "Zins-Berechnung / Laufzeit-Berechnung" Die Titelleiste des Formulars erhält einen Text.
txtZinssatz.Text = "2,5" Beim Laden des Formulars erhalten die Textfelder
txtLaufzeit.Text = "10" bereits Werte, jedoch keinen Fokus.
With txtKapital Beim Laden des Formulars erhält das Textfeld Kapital
.Text = "100" bereits einen Wert und den Fokus.
.SelStart = 0
.SelLength = Len(.Text)
End With
End Sub
Private Sub cmdRechnen_Click() Die Variable n ist das Jahr.
Dim Kapital As Currency, Laufzeit%, Zinssatz As Single, n%
With txtMonate
.SelLength = Len(.Text)
End With
With txtMonatszahlung
.SelStart = 0
.SelLength = Len(.Text)
End With
Me.Caption = "Heute ist der " & Date Die Titelleiste des Formulars erhält das aktuelle Datum.
With txtLaufzeit
.SelLength = Len(.Text) Die Variable Laufzeit wird dem Inhalt der Textbox
Laufzeit = CInt(.Text) Laufzeit zugewiesen.
If Len(.Text) = 0 Or IsNumeric(txtLaufzeit) <> True _ Prüft, ob für Laufzeit ein Wert eingegeben wurde.
Or .Text = "0" Or Laufzeit > 90 Then
lstErgebnis.Clear
MsgBox "Bitte eine gültige Laufzeit eingeben! " & _ Falls kein Wert in der Textbox steht, erhält man einen
vbCrLf & "Maximal 90 Jahre.", 48 Hinweis.
.SetFocus Die Textbox erhält den Fokus, um einen Wert eingeben
Exit Sub zu können.
End If
End With
With txtZinssatz
.SelLength = Len(.Text) Die Variable Zinssatz wird dem Inhalt der Textbox
Zinssatz = CSng(.Text) Zinssatz zugewiesen.
If Len(.Text) = 0 Or IsNumeric(txtZinssatz) = False _ Prüft, ob für Zinssatz ein Wert eingegeben wurde.
Or .Text = "0" Or Zinssatz > 15 Then
lstErgebnis.Clear
MsgBox "Bitte den Zinssatz eingeben!" & vbCrLf & _ Falls kein Wert in der Textbox steht, erhält man einen
"Maximal 15 Prozent.", 48 Hinweis.
.SetFocus Die Textbox erhält den Fokus, um einen Wert eingeben
Exit Sub zu können.
End If
End With
With txtKapital
.SelLength = Len(.Text) Die Variable Kapital wird dem Inhalt der Textbox
Kapital = CCur(.Text) Kapital zugewiesen.
If Len(.Text) = 0 Or IsNumeric(txtKapital) = False _ Prüft, ob für Kapital ein Wert eingegeben wurde.
Or .Text = "" Or Kapital > 10000000 Then
lstErgebnis.Clear
MsgBox "Bitte das Kapital eingeben! " & vbCrLf & _ Falls kein Wert in der Textbox steht, erhält man einen
"Maximal 10.000.000 DM.", 48 Hinweis.
.SetFocus Die Textbox Kapital erhält den ersten Fokus (also als
Exit Sub letzte aufrufen).
End If
End With
lstErgebnis.Clear Der Befehl Clear löscht "alte Werte" in der Listbox.
lstErgebnis.AddItem Item:=" Startkapital: " & Kapital _ In der Listbox werden verschiedene Überschriften
& " DM, Laufzeit: " & Laufzeit & " Jahre, Zinssatz: _ ausgegeben.
" & Zinssatz & " %."
If chkMonatszahlung.Value = 1 Then Falls das Feld Monatszahlung aktiviert wurde, wird
lstErgebnis.AddItem Item:=" Zusätzlich zum Startkapital eine weitere Überschrift eingeblendet.
zahlen Sie " & txtMonate & " mal jährlich weitere _
" & txtMonatszahlung.Text & " DM ein."
End If
lstErgebnis.AddItem String(Len(lstErgebnis.List _ Entsprechend der Länge des ersten Eintrags wird eine
(lstErgebnis.NewIndex)), "_") Linie mit Unterstrichen in die Liste eingefügt.
lstErgebnis.AddItem Item:=""
lstErgebnis.AddItem Item:=" Ihr Kapital beträgt nach dem:"
For n = 1 To Laufzeit Für jedes Jahr wird ein neuer Wert berechnet.
If (chkMonatszahlung.Value = 0) Then GoTo Rechne2 Wenn Feld Monatszahlung nicht aktiviert wurde, dann
If (chkMonatszahlung.Value = 1) And _ gehe zum Subprogramm "Rechne2".
(Len(txtMonatszahlung.Text) = 0 _
Or IsNumeric(txtMonatszahlung) = False Or txtMonatszahlung.Text = "0") Or _
txtMonatszahlung > 1000 Then Hier werden Fehler für die Textbox Monatszahlung
MsgBox "Falsche Eingabe!" & vbCrLf & "Geben Sie einen abgefangen und der Fokus gesetzt, falls falsche Eingaben
Wert ein, der nicht größer als 1.000 DM ist! ", 48, "Fehler" gemacht wurden.
txtMonatszahlung.SetFocus
Exit Sub
End If
If (chkMonatszahlung.Value = 1) And (Len(txtMonate.Text)_ Hier werden Fehler für die Textbox Monate abgefangen und
= 0 Or IsNumeric (txtMonate) = False Or txtMonate.Text =_ der Fokus gesetzt, falls falsche Eingaben gemacht wurden.
"0") Or txtMonate > 24 Then
MsgBox "Falsche Eingabe!" & vbCrLf & "Geben Sie einen Wert ein...", 48
txtMonate.SetFocus Falls die Eingaben richtig sind , wird mit Monatszahlung
Exit Sub gerechnet, oder das Subprogramm "Rechne2" wird
Else ausgeführt (ohne Berechnung mit den Monatszahlen).
Kapital = Kapital + CCur(txtMonatszahlung.Text) * CSng(txtMonate.Text)
Rechne2:
Kapital = Kapital + (Kapital / 100) * Zinssatz
lstErgebnis.AddItem Item:=" " & n & ". Jahr " _ Die Ergebnisse werden im Listenfeld angezeigt.
& Format(Kapital, "Currency")
End If
Next
lstErgebnis.AddItem Item:="" Leerzeile einfügen.
End Sub
Private Sub chkMonatszahlung_Click() Durch das Anklicken der Kontrollkästchen Monatszahlung
txtMonatszahlung.Enabled = _ UND Monate werden die Textfelder aktiviert, bzw. deakti-
CBool(chkMonatszahlung.Value) viert, der Zugriff wird also erlaubt, bzw. verweigert.
txtMonate.Enabled = CBool(chkMonatszahlung.Value)
End Sub
Hier beginnt das integrierte Programm für die Laufzeitberechnung:
Private Sub cmdRechnen2_Click()
Dim StartKapital As Currency, EndKapital As Currency, Laufzeit2%, Zinssatz2 As Single
With txtMonatszahlung2
.SelLength = Len(.Text)
End With
With txtZielbetrag
.SelLength = Len(.Text) Die Variable EndKap. wird der Inhalt der Textbox
EndKapital = CCur(.Text) Zielbetrag zugewiesen.
If StartKapital > EndKapital Or Len(.Text) = 0 Or _ Prüfen, ob ein Zielbetrag eingegeben wurde.
IsNumeric(txtZielbetrag) = False Or _
.Text = "0" Or EndKapital > 10000000 Then
txtErgebnis.Text = "" Die Textbox für das Ergebnis wird gelöscht.
MsgBox "Bitte einen Betrag für das gewünschte _ Falls kein Wert in der Textbox steht, erhält man einen
Endkapital eingeben!" & vbCrLf & _ Hinweis.
"Jedoch nicht größer als 10.000.000 DM", 48, "Fehler"
.SetFocus Die Textbox erhält den Fokus, um einen Wert eingeben
Exit Sub zu können.
End If
End With
With txtZinssatz2
.SelLength = Len(.Text) Variable Zinssatz wird dem Inhalt der Textbox
Zinssatz2 = CSng(.Text) Zinssatz2 zugewiesen.
If Len(.Text) = 0 Or IsNumeric(txtZinssatz2) = False _ Prüfen, ob für Zinssatz ein Wert eingegeben wurde.
Or .Text = "0" Or Zinssatz2 > 15 Then
txtErgebnis.Text = "" Die Textbox für das Ergebnis wird gelöscht.
MsgBox "Bitte einen Wert für den Zinssatz eingeben!" _ Falls kein Wert in der Textbox steht, erhält man einen
& vbCrLf & _ Hinweis.
"Jedoch nicht größer als 15 Prozent", 48, "Fehler"
.SetFocus Die Textbox erhält den Fokus, um einen Wert eingeben
Exit Sub zu können.
End If
End With
With txtStartbetrag
.SelLength = Len(.Text) Die Variable StartKap wird d. Inhalt der Textbox
StartKapital = CCur(.Text) Startbetrag zugewiesen.
If Len(.Text) = 0 Or IsNumeric(txtStartbetrag) = False Or _ Prüfen, ob für Startbetrag ein Wert eingegeben wurde.
.Text = "0" Or StartKapital > 100000 Then
txtErgebnis.Text = "" Die Textbox für das Ergebnis wird gelöscht.
MsgBox "Bitte einen Betrag für das Startkapital eingeben!" Falls kein Wert in der Textbox steht, erhält man einen
& vbCrLf & _ Hinweis.
"Jedoch nicht größer als 100.000 DM", 48, "Fehler"
.SetFocus Die Textbox erhält den Fokus, um einen Wert eingeben
Exit Sub zu können.
End If
End With
txtErgebnis.Text = ""
Do
Laufzeit2 = Laufzeit2 + 1 Für jeden Monat wird ein neuer Wert berechnet.
If (chkMonatszahlung2.Value = 0) Then GoTo Rechne3 Wenn Monatszahlungen nicht aktiviert sind, überspringe
If (chkMonatszahlung2.Value = 1) And _ die Fehlerabfrage und gehe zum Subprogramm.
(Len(txtMonatszahlung2.Text) = 0 _
Or IsNumeric(txtMonatszahlung2) = False Or _ Sollen Monatszahlungen berücksichtigt werden?
txtMonatszahlung2.Text = "0") _
Or txtMonatszahlung2 > 1000 Then
MsgBox "Falsche Eingabe!" & vbCrLf & "Nicht mehr _ Hier werden Fehler abgefangen und der Fokus zurück-
als 1.000 DM", 48, "Fehler" gesetzt, falls falsche Eingaben gemacht wurden.
txtMonatszahlung2.SetFocus
Exit Sub
Else
StartKapital = StartKapital + CCur(txtMonatszahlung2.Text)
End If
Rechne3: Start des Subprogramms.
StartKapital = StartKapital + (StartKapital / 100) * _ Bei der Zinsformel wird der Monatszins ausrechnet.
(Zinssatz2 / 12)
Loop Until StartKapital > EndKapital Ergebnis wird im Textfeld ausgegeben.
txtErgebnis.Text = "Das dauert: " & Laufzeit2 \ 12 & " J a h r e u n d " & Laufzeit2 Mod 12 & " M o n a t e"
End Sub
Private Sub chkMonatszahlung2_Click()
txtMonatszahlung2.Enabled = _ Durch Anklicken d. Kontrollkästchens Monatszahlung wird
CBool(chkMonatszahlung2.Value) das Textfeld aktiviert, bzw. deaktiviert, der Zugriff wird
End Sub verweigert / erlaubt.
Private Sub cmdDrucken_Click() Start des Druck-Menüs.
Dim a$
If Printers.Count > 0 Then Wenn ein Drucker installiert ist, geschieht folgendes:
cd1.Flags = cdlPDReturnDC + cdlPDNoPageNums CommonDialog: Seitenumbruch und keine Seiten-
Nummerierung.
If rtfEdit.SelLength = 0 Then Wenn die selektierte Textlänge Null ist, dann:
cd1.Flags = cd1.Flags + cdlPDAllPages CommonDialog: Alle Seiten.
Else Oder:
cd1.Flags = cd1.Flags + cdlPDSelection CommonDialog: Auswahl.
End If
On Error GoTo PrintERR Bei Fehler gehe zum ProgrammEnde.
cd1.ShowPrinter CommonDialog: DruckMenü zeigen.
' a = rtfEdit.SelLength Variable a erhält den Inhalt der RTF-Box.
' If cd1.Flags = cdlPDReturnDC + cdlPDNoPageNums _ Wenn CommonDialog folgendes hat, dann selektiere
+ cdlPDAllPages Then nichts aus RTF-Box.
' rtfEdit.SelLength = 0
' Printer.Print ""
rtfEdit.SelPrint cd1.hDC Drucker druckt Inhalt der RTF-Box.
' rtfEdit.SelLength = a RTF-Box erhält Inhalt der Variablen a.
' End If
' Wenn die markierten Befehle eingebunden werden, wird zusätzlich eine leere Seite nach dem Druckvorgang
' ausgegeben.
Else
MsgBox "Bitte installieren Sie einen Drucker!", 48, _ Fehlermeldung, wenn kein Drucker installiert ist.
"Fehler"
Exit Sub ProgrammEnde.
End If
frmMonatszahlung.Visible = False Formular Monatszahlung wird unsichtbar.
frmDrucken.Visible = True Formular Drucken wird sichtbar.
PrintERR: ProgrammEnde.
End Sub
.
Sponsoren und Investoren

Sponsoren und Investoren sind jederzeit herzlich willkommen!
Wenn Sie die Information(en) auf dieser Seite interessant fanden, freuen wir uns über eine kleine Spende. Empfehlen Sie uns bitte auch in Ihren Netzwerken (z. B. Twitter, Facebook oder Google+). Herzlichen Dank!

Nach oben Sitemap
Impressum & Kontakt