Sari la conținut

Scadentar rate in Excel

  • Excel

Recent am avut un webinar despre Excel in care m-am laudat ca am facut un scadentar rate in Excel. Fiindca nu am fost sigur daca participantii m-au crezut, am zis ca nu ar fi rau sa il adaug si aici pe site, poate e util si pentru voi.

Scadentar rate Excel

Hai sa vedem in primul rand cum functioneaza, iar apoi o sa vezi si cum l-am facut, inclusiv codul VBA din spate.

demo scadentar rate excel

Destul de simplu, nu?

Download

Descarca gratuit acest fisier (impreuna cu multe altele) accesand pachetul Fisiere onLearn. Le-am grupat pe toate intr-un singur loc sa fie mai usor de accesat. Vezi butonul de mai jos.

Apropo, daca vrei sa inveti Excel, vezi aici toate cursurile de Excel pe care le avem pe platforma.

Mod calcul dobanda

Cand vine vorba de scadentare, e important sa stim modul de calcul al dobanzii. Am invatat si eu lucrurile astea cand am lucrat pe un fisier pentru un client de al meu.

Putem avea dobanda liniara, sau dobanda la sold (pe care o calculam cu functia PMT). In acest fisier comportamentul dobanzii este liniar, iar cel al principalului de tip anuitate.

Asta inseamna ca atat principalul si dobanda se calculeaza intr-un mod liniar si vor fi egale in fiecare luna.

Cod VBA

Cand deschizi fisierul vei vedea ca acesta contine cod VBA. Va fi nevoie sa dai accept ca sa rulezi codul. Pun mai jos si codul VBA pe care l-am folosit in generearea scadentarului. Vezi, poti sa „furi” codul si fara sa te abonezi

Sub Genereaza_Scadentar()

'Memoram informatiile relevante
valoare = Range("B1")
perioada = Range("B2")
val_dobanda = Range("B3")
data_disbursare = Range("B4")

'Pregatim scadentarul
Range("D2:I1000").ClearContents

'Generam scadentarul
For i = 1 To perioada

    'Numar si data
    Cells(i + 1, 4) = i
    Cells(i + 1, 5).Value = DateSerial(Year(data_disbursare), Month(data_disbursare) + i, 0)
    
    'Rata
    Cells(i + 1, 6) = valoare / perioada
    
    'Dobanda
    Cells(i + 1, 7) = valoare * val_dobanda * perioada / 12 / perioada
    
    'Plata lunara
    Cells(i + 1, 8) = Cells(i + 1, 6) + Cells(i + 1, 7)

    'Sold credit
    If i = 1 Then
        Cells(i + 1, 9) = valoare - Cells(i + 1, 6)
    Else
        Cells(i + 1, 9) = Cells(i, 9) - Cells(i + 1, 6)
    End If
    
Next i

'Adaugam totaluri - doar daca e completata valoarea
If valoare > 0 Then

Range("F" & perioada + 2) = "=SUM(F2:F" & perioada + 1 & ")"
Range("G" & perioada + 2) = "=SUM(G2:G" & perioada + 1 & ")"
Range("H" & perioada + 2) = "=SUM(H2:H" & perioada + 1 & ")"

'Formatare de final
Range("E:E").NumberFormat = "yyyy-mm-dd;@"
Range("F:I").NumberFormat = 0

End If
End Sub

Dupa cum poti vedea in codul de mai sus, am folosit cateva concepte din VBA:

  • Variabile
  • Bucle (For)
  • Conditii (IF)

Codul e scris de mine, nu am folosit macro recorder, si nici nu am apelat la ChatGPT. 🙂

Daca vrei sa inveti elementele de baza despre scriere cod in Excel, iti recomand sa arunci un ochi si peste cursul de Excel de nivel avansat. Pe langa faptul ca vei invata sa folosesti Macro Recorder, vei invata si sa scrii linii simple de cod VBA.

Ai o intrebare?

Daca ai ajuns pana aici cautand sectiunea de comentarii, sa stii ca aceasta nu exista :). Poti insa ca sa ne pui intrebari in partea de forum a site-ului, te asteptam acolo.

Comentarii

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *