Buchungsdatum Zugang Abgang Gesamt
01.01.2001 15000,---
02.01.2001 1000,-- 16000,---
12.01.2001 500,-- 15500,---
01.02.2001 1500,-- 17000,---
Wie errechne ich unterjährig bei EIn/Auszahlungen die Zinsen ?
Vielen Dank für "schnelle " Hilfe
Walter
Uli
Walter Sieverling <Walter.S...@de.bosch.com> schrieb in im
Newsbeitrag: 95tfm0$79i$1...@proxy.fe.internet.bosch.de...
Walter Sieverling <Walter.S...@de.bosch.com> schrieb im Beitrag
<95tfm0$79i$1...@proxy.fe.internet.bosch.de>...
--
Mit freundlichen Grüßen
Eckehard Pfeifer
VBA-WorkShops in Dresden, Info unter www.dr-e-pfeifer.de
Ein Blick lohnt sich immer: www.vba-magazin.de
"Walter Sieverling" <Walter.S...@de.bosch.com> schrieb im Newsbeitrag
news:95tfm0$79i$1...@proxy.fe.internet.bosch.de...
Jou! Sie heißt Tage360(Startdatum;Enddatum)
HTH
--
Ruben K. Becker
http://home.t-online.de/home/ruben.becker
Die Formel wie sie von Eckehard beschrieben ist, kann auch in eine
benutzerdefinierte Funktion eingebaut werden. Die beiden Funktionen heissen
in meinem Beispiel =ZinsNummer(StartDatum,EndDatum,Kapital) und
=ZinsErtrag(ZinsNummer,ZinsSatz). Baue sie mit dem VBA Editor (mit ALT+F11
starten) in ein Programm Modul ein.
'*** Von da weg in ein Programm-modul kopieren.
Function ZinsNummer(StartDat, EndDat, Kapital As Double) As Integer
ZinsNummer = WorksheetFunction.Days360(StartDat, EndDat, True) * Kapital
/ 100
End Function
Function ZinsErtrag(ZinsNr As Integer, ZinsSatz As Double) As Double
ZinsErtrag = ZinsNr / 360 * ZinsSatz
End Function
'*** bis da kopieren
Unten dein Beispiel unter Anwendung der benutzerdefinierten Funktionen unter
der
Annahme, dass der Zins 5% beträgt -> 2.Parameter in ZinsErtrag.
Kleiner Tip: Wenn du die Formel "=ZinsNummer( " bis zur Klammer eingegeben
hast,
kannst du mit STRG+Shift+A eine Hilfestellung aus der Funktion erhalten,
welche dir
die Namen der erwarteten Parameter anzeigt.
A B C D
E
1 Buchungsdatum Zugang Abgang Gesamt
2 01.01.2001 15000,---
3 02.01.2001 1000,-- 16000,---
=ZinsNummer(A2;A3;D1)
4 12.01.2001 500,-- 15500,---
=ZinsNummer(A3;A4;D2)
5 01.02.2001 1500,-- 17000,---
=ZinsNummer(A4;A5;D4)
6
=Summe(E3:E5)
7
=ZinsErtrag(E6;5)
Gruss aus Zürich, Renzo
"Walter Sieverling" <Walter.S...@de.bosch.com> schrieb im Newsbeitrag
news:95tfm0$79i$1...@proxy.fe.internet.bosch.de...
Die Formeln für die Zinsnummern, die ich im Beispiel in Spalte E eingetragen
habe sind mir
leider durch das Outlook-Programm umgebrochen worden. Ich hoffe ihr kommt
klar, sonst
sende ich auf Anfrage eine Demomappe.
Gruss Renzo
Ein guter Vorschlag. Beachte dass die Rundungsart ein optionaler Parameter
in der Formel darstellt und ohne Angabe von 1 für die Rundung auf den
100-erdstel bzw. mit 5 Rundung auf 5 Pfenning die Funktion immer noch die
ungerundeten Werte zurückgibt.
Im folgenden den Code
'*** Von da weg in ein Programm-modul kopieren.
Function ZinsNummer(StartDat, EndDat, Kapital As Double) As Integer
ZinsNummer = WorksheetFunction.Days360(StartDat, EndDat, True) * Kapital
/ 100
End Function
Function ZinsErtrag(ZinsNr As Integer, ZinsSatz As Double, Optional
Rundungsart As Integer) As Double
'Rundungsart 1 ---> Runden auf 0.01
'Rundungsart 5 ---> Runden auf 0.05
'Ohne Parameter wird nicht gerundet
ze = ZinsNr / 360 * ZinsSatz
Select Case Rundungsart
Case 1
ZinsErtrag = Int(ze * 100 + 0.5) / 100
Case 5
ZinsErtrag = Int(ze * 20 + 0.5) / 20
Case Else
ZinsErtrag = ze
End Select
End Function
'*** bis da kopieren
Gruss aus Zürich, Renzo
PS
Um die Codebeispiele so einfach wie möglich zu halten, verzichte ich in der
Regel in den Beispielen in dieser NG auf den Einbau von Error- und
Crash-Handlern, Klassenbibliotheken und dergleichen.
"Dr. Eckehard Pfeifer" <pri...@dr-e-pfeifer.de> schrieb im Newsbeitrag
news:uzM0ny1kAHA.1076@tkmsftngp02...