Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
984to988
984to988
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zinsen berechnen in VBA (Fehler)

Zinsen berechnen in VBA (Fehler)
17.06.2008 11:16:41
Florian
Hallo zusammen und einen guten Morgen!
Ich scheitere grade an einer vermeindlich einfachen Aufgabe...
Ich will mit folgender Formel die Zinsen berechnen:
Zinsen = (Kapital * Zinssatz * Tage) / (100 * 360)
Mein bisheriger Code bricht mit Fehlercode 6 (Überlauf) in der Berechnungszeile ab:

Private Sub cmdZinsberechnung_Click()
Dim Kapital As Double
Dim Zinssatz As Double
Dim Tage As Double
Dim Zinsen As Double
Kapital = CDbl(TextBox1.Value)
Zinssatz = CDbl(TextBox2.Value)
Tage = CDbl(TextBox3.Value)
Zinsen = (Kapital * Zinssatz * Tage) / (100 * 360)
MsgBox "Der Zinsbetrag beträgt " & Zinsen, vbOKOnly, "Ergebnis"
End Sub


Hab es schon mit Datentyp Variant versucht, und ohne die CDbl...
Wär super wenn mich einer vom Schlauch schubsen könnte, ich glaube da steh ich nämlich grade derbe drauf ;)
Mit freundlichen Grüßen,
Florian

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zinsen berechnen in VBA (Fehler)
17.06.2008 12:01:53
Reinhard
Hi Florian,
probiers mal so:

Private Sub cmdZinsberechnung_Click()
Dim Kapital As Double
Dim Zinssatz As Double
Dim Tage As Double
Dim Zinsen As Double
Kapital = CDbl(100000)
Zinssatz = CDbl(10)
Tage = CDbl(2000)
Zinsen = (Kapital * Zinssatz * Tage) / 100 / 360
MsgBox "Der Zinsbetrag beträgt " & Zinsen, vbOKOnly, "Ergebnis"
End Sub


Frage noch offen weil ich wissen will warum das geht, und dies hier nicht:


Private Sub cmdZinsberechnung_Click2()
Dim Kapital As Double
Dim Zinssatz As Double
Dim Tage As Double
Dim Zinsen As Double
Kapital = CDbl(100000)
Zinssatz = CDbl(10)
Tage = CDbl(2000)
Zinsen = (Kapital * Zinssatz * Tage) / (100 * 360)
MsgBox "Der Zinsbetrag beträgt " & Zinsen, vbOKOnly, "Ergebnis"
End Sub


Gruß
Reinhard

Anzeige
AW: Zinsen berechnen in VBA (Fehler)
17.06.2008 12:40:00
Daniel
Hi
ich vermute mal folgende Ursache:
auch beim Rechnen mit festen Zahlen muss sich Excel intern auf einen Datentyp festlegen (Integer, Long, Single, Double) und versucht dabei, den günstigsten zu nehmen.
Da die Rechnung in der 2. Klammer 360 beginnt, ist das natürlich INTEGER.
der Zahlenbereich von INTEGER reicht allerdings nur bis c.a. 32.000 und dieser Wert wird vom Ergebnis der Klammer deutlich überschritten (36.000), daher der Überlauffehler.
das kann man ausprobieren, in dem man mal 320 statt 360 einsetzt, dann funktioniert es plötzlich.
folgende Lösung ist möglich:
durch das Anhängen von Kurzeichen an Zahlen kann Excel der Datentyp vorgegeben werden, dabei stehen bspw
& für Long
# für Double.
die entsprechende Codezeile würde dann so aussehen:

Zinsen = (Kapital * Zinssatz * Tage) / (360& * 100)


im ersten Beispiel bestehen diese Probleme nicht, da es hier keine 2. Klammer und somit keine eigenständige Zwischenrechnung gibt.
in der ersten Klammer ist der Datentyp DOUBLE durch die Variablen ja fest vorgegeben, so daß es hier keine Probleme gibt.
Gruß, Daniel

Anzeige
Dankeschön Daniel o.w.T.
17.06.2008 16:18:46
Reinhard


AW: Zinsen berechnen in VBA (Fehler)
17.06.2008 12:44:00
Florian
Hallo Reinhard,
vielen Dank füe deine Lösung! Auch wenn ich mich der Frage anschließe warum das mit der Formel, die uns unser Prof gegeben hat nicht funktioniert^^
Zinsen = (Kapital * Zinssatz * Tage) / (100 * 360) Fehler (Überlauf)
Zinsen = (Kapital * Zinssatz * Tage) / 100 / 360 Klappt

OT: Danke für die Lösung!
17.06.2008 12:47:00
Florian
.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige