VBA in Excel - Zinseszins < BASIC < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Hallo alle zusammen!
Wer kann mir weiterhelfen.Wir müssen in VBA ( excel) mit Zinseszins rechnen. Geht das überhaupt und wenn ja , wie? Ich könnte hier auch eine spezielle Aufgabe stellen, mir geht es aber ganz allgemein darum, wie man es macht. Ich gebe immer irgendetwas falsch ein.
Wir sollen die Aufgabe aber ohne Benutzung der Zinseszinsformel lösen.
Wenn mir jemand helfen könnte ,wäre ich total happy.
Viele liebe Grüße
Natascha
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 10:07 So 06.11.2005 | Autor: | Infinit |
Hallo Natascha,
in Excel gibt es etliche Funktionen, um direkt Zinseszinsberchnungen durchzuführen, mehr dazu findest Du in der Excelhilfe, beispielsweise unter dem Suchwort "Zinsberechnung".
Generell kann man das Ganze aber auch in einer Tabelle berechnen, wenn man sich klar macht, welche Angaben man hat.
Da ist das Grundkapital $GK$, das nach einer bestimmten Zeitdauer, im Finanzbereich ist das häufig ein Jahr, verzinst wird. Da die Zeitdauer selbst nicht interessiert, sondern meist nur die Anzahl der Verzinsungen über den Zeitraum, den man betrachtet, kann man sagen, dass über den interessierenden Zeitraum $ n$ Verzinsungen anfallen. Verzinst wird jeweils mit einem festen Prozentsatz $ p$.
Ich beginne also mit dem Grundkapital $GK$ und das ist auch das Kapital, das ich vor der ersten Verzinsung zur Verfügung habe, also
$ [mm] K_{0} [/mm] = GK $.
Wenn dieses Kapital einmal verzinst wurde, ergibst sich also für $ n =1 $ als Kapital
$ [mm] K_{1} [/mm] = GK [mm] \cdot [/mm] (1+p) $.
Bei der nächsten Verzinsung, also für $ n = 2 $, wird das angesammelte Kapital nochmal verzinst, man hat also
$ [mm] K_{2} [/mm] = GK [mm] \cdot [/mm] (1+p) [mm] \cdot [/mm] (1+p) $
Der Index bei der Kapitalberechnung zeigt an, wie häufig das Grundkapital bereits verzinst wurde. Die eben erwähnte Gleichung lässt sich aber auch schreiben als
$ [mm] K_{2} [/mm] = GK [mm] \cdot (1+p)^{2} [/mm] $.
Jetzt siehst Du schon, wie es weitergeht. Nach $ n$ Verzinsungen hast Du ein Kapital von
$ [mm] K_{n} [/mm] = GK [mm] \cdot (1+p)^{n} [/mm] $.
Wenn Du mit dieser Formel nicht rechnen möchtest, kannst Du in Excel von einem Grundkapital $GK$ ausgehen, dieses mit $ (1+p) $ multiplizieren und Du erhälst den neuen Kaptalbetrag. Nimmst Du diesen Betrag als Ausgangswert für die nächste Berechnung in der nächsten Excelzeile, so kannst Du diesen Wert wieder mit $ (1+p)$ multiplizieren usw. usw.
Das zeilenweise Ausmultiplizieren hat zudem noch den Vorteil, dass Du, falls nötig, unterschiedliche Zinssätze für jeden Zeitraum berücksichtigen könntest.
Viele Grüße,
Infinit
|
|
|
|
|
Hallo!
Also wir haben in W i folgende Aufgabe gestellt bekommen:
Struktogramm in Strukted
Codierung in VBA
Eine Bank möchte seinen Kapitalanlegern auf Wunsch das erzielte Endkapital nach beliebiger Zeit ( in Jahren)ausweisen.
Der Zinssatz ist nach Höhe des Anfangskapitals gestaffelt
Bis 5000 2%
bis 10000 4%
Sonst 6 %
strukturieren und codieren sie ein Programm, dass nach Eingabe des Startkapitals und der gewünschten Laufzeit in Jahren das Endkapital berechnet. Ausgabe : Startkapital, Laufzeit und Endkapital
Meine Lösung lautet nun :
Sub Bank()
Dim kapital As Currency
Dim lz As Integer
Dim p As Single
Dim z As Currency Dim es As Currency
kapital = InputBox("Kapital?", "Kapital")
lz = InpitBox("Laufzeit?", "Laufzeit")
Select Case kapital
Case Is <5000
p = 0,02
Case Is <10000
p = 0,04
Case Else
p = 0,06
End Select
r = 1
zz = 0
Do Until r = lz
r = r + 1
zz = zz + 1
z = kapital * p
ekap = (z + kapital) * (p + zz)
Loop
Zinsen =MsgBox("Endkapital: " & Format (ekap, ###,###,##0.00") & Chr(10) & "Laufzeit: " & lz & Chr(10) & "Startkapital:" & Format (kapital, "###,###,##0.00"), 23, "Bank")
End Sub
'z.T. falsches Ergebnis
Ich wäre wirklich total happy, wenn mir jemand sagen könnte welchen Fehler ich gemacht habe und wie das richtige Ergebnis lautet.
mfg Natascha
|
|
|
|
|
Hallo Natascha,
ein paar kleine Korrekturen und es sollte gehen:
r = 0
ekap = kapital ' Endkapital auf Anfang setzen
Do Until r = lz
r = r + 1 ' ein Jahr weiter
z = ekap * p ' Zinsen berechnen
ekap = ekap + z ' neues Endkapital
Loop
Gegenrechnung manuell:
Endkapital = Anfangskapital * ( 1 + p ) hoch Laufzeit in Jahren
Ich glaube, diesmal ist kein Gedankenfehler drin...
Gruss Wolfgang.
|
|
|
|