Sub zinsrechner() Dim laufzeit_in_monaten As Integer zinssatz = ActiveWorkbook.Worksheets("kreditrechner").Range("C1").Value zinssatz = zinssatz / 100 tilgungs_satz = ActiveWorkbook.Worksheets("kreditrechner").Range("C2").Value tilgungs_satz = tilgungs_satz / 100 laufzeit = ActiveWorkbook.Worksheets("kreditrechner").Range("C3").Value laufzeit_in_monaten = laufzeit * 12 aufgenommener_kredit = ActiveWorkbook.Worksheets("kreditrechner").Range("C4").Value rate_tilgungsteil_monatlich = (tilgungs_satz / 12) * aufgenommener_kredit start_tilgung = ActiveWorkbook.Worksheets("kreditrechner").Range("C5").Value start_tilgung_in_monaten = start_tilgung * 12 Offset = 9 restschuld = aufgenommener_kredit For i = 1 To laufzeit_in_monaten If restschuld > 0 Then zeile = i + Offset rate_zinsteil_monatlich = restschuld * (zinssatz / 12) zinskosten = zinskosten + rate_zinsteil_monatlich If i >= start_tilgung_in_monaten Then restschuld = restschuld - rate_tilgungsteil_monatlich End If ActiveWorkbook.Worksheets("kreditrechner").Range("B" & zeile).Value = i ActiveWorkbook.Worksheets("kreditrechner").Range("C" & zeile).Value = i / 12 ActiveWorkbook.Worksheets("kreditrechner").Range("D" & zeile).Value = restschuld End If Next i durchschnittsrate = (zinskosten / laufzeit_in_monaten) + rate_tilgungsteil_monatlich ActiveWorkbook.Worksheets("kreditrechner").Range("C6").Value = restschuld ActiveWorkbook.Worksheets("kreditrechner").Range("C7").Value = zinskosten ActiveWorkbook.Worksheets("kreditrechner").Range("C8").Value = durchschnittsrate Call diagramm_creating End Sub Sub diagramm_creating() Dim merker_ As String ofs = 9 flag = 1 For i = 1 To 2000 zeile = i + ofs wert = ActiveWorkbook.Worksheets("kreditrechner").Range("D" & zeile).Value If wert = "" And flag = 1 Then flag = 0 merker = zeile End If Next i merker_ = CStr(merker) Call erzeuge_diagramm(merker_, "restschuld", "C", "D", -100) End Sub Sub erzeuge_diagramm(ende_ As String, name_ As String, x_ As String, y_ As String, hoehe As Double) ActiveSheet.ChartObjects.Add(20, 100, 300, 200).Name = name_ ActiveSheet.ChartObjects(name_).Activate ActiveSheet.Shapes(name_).IncrementLeft 280 ActiveSheet.Shapes(name_).IncrementTop hoehe '6.75 ActiveChart.ChartType = xlXYScatterSmoothNoMarkers Application.CutCopyMode = False ActiveChart.SeriesCollection.NewSeries ActiveChart.FullSeriesCollection(1).Name = name_ ActiveChart.FullSeriesCollection(1).XValues = "=kreditrechner!$" & x_ & "$10:$" & x_ & "$" & ende_ ActiveChart.FullSeriesCollection(1).Values = "=kreditrechner!$" & y_ & "$10:$" & y_ & "$" & ende_ End Sub Sub loesche() Range("B10").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.ClearContents ActiveSheet.ChartObjects("restschuld").Activate ActiveChart.Parent.delete Range("C6:C8").Select Selection.ClearContents Range("F1").Select End Sub