Gå til innhold

Ny på programmering! Hjelp


Anbefalte innlegg

Heisann

 

Jeg har en type som er ikt ansvarlig i en bank :thumbup:

 

Jeg vil imponere han og har funnet en makro som han bruker :whistle:

 

Jeg lurer på hva alt dette betyr... Noen som kan hjelpe?? :new_woot:

 

Hjelp :cry: !

 

her kommer den:

 

Option Explicit

Const GrunnData As String = "Grunnlag"

Const TabellData As String = "Tabell"

Const Diagram As String = "Graf"

 

Function SamletAnnRente(RPP As Single, Periode As Integer, AntPerioder As Integer, Startverdi As Double, Sluttverdi As Double) As Double

Dim i As Integer, mSum As Double

Application.Volatile

mSum = 0

For i = 1 To Periode

mSum = mSum + Application.Ipmt(RPP, i, AntPerioder, Startverdi, 0)

Next i

SamletAnnRente = mSum

End Function

 

Function SamletSerRente(RPP As Single, Periode As Integer, AntPerioder As Integer, Startverdi As Double) As Double

Dim i As Integer, mSum As Double, Avdrag As Double

Application.Volatile

mSum = 0

Avdrag = Startverdi / AntPerioder

For i = 1 To Periode

mSum = mSum + Startverdi * RPP

Startverdi = Startverdi - Avdrag

Next i

SamletSerRente = mSum * -1

End Function

 

Sub FiksTabellen()

Dim sRow As Integer, yRow As Integer ' startraden og sluttkolonne for overskriftene i tabellen

Dim i As Integer, AntPerioder As Integer, ACM As Integer, y As Integer

ThisWorkbook.Activate

Sheets(GrunnData).Select

Range("AnnLån").Select

AntPerioder = Range("TabellPerioder").Value

If AntPerioder < 12 Then

MsgBox "Du må fylle inn et større antall perioder/år eller antall år"

Range("AnnPerioder").Select

Exit Sub

End If

ACM = Application.Calculation

Application.Calculation = xlManual

Application.ScreenUpdating = False

Application.StatusBar = "Oppdaterer tabellen med " & AntPerioder & " rader..."

Sheets(TabellData).Select

sRow = Range("Overskrift").Row ' startraden for overskriftene i tabellen

y = Cells(sRow, 1).End(xlToRight).Column ' siste kolonne med data

' slett eventuelle overskuddsdata

Range(Cells(sRow + 3, 1), Cells(16384, y)).Clear

For i = 1 To AntPerioder

Cells(sRow + i, 1).Formula = i

Next i

Range(Cells(sRow + 2, 2), Cells(sRow + AntPerioder, y)).FillDown

ActiveSheet.PageSetup.PrintArea = Range(Cells(1, 1), Cells(sRow + AntPerioder, y)).Address

Cells(sRow + 1, 1).Select

OppdaterDiagrammet 1, sRow, 3, AntPerioder, "Annuitetslån" ' IB annuitetslån

OppdaterDiagrammet 2, sRow, 9, AntPerioder, "Serielån" ' IB serielån

Application.Calculation = ACM

Application.Calculate

Worksheets(1).Select

Application.StatusBar = False

End Sub

 

Sub OppdaterDiagrammet(Serie As Integer, rIndex As Integer, cIndex As Integer, pCount As Integer, sNavn As String)

' oppdaterer navnene som benyttes av grafen

Application.StatusBar = "Oppdaterer diagrammet..."

With Charts(Diagram).SeriesCollection(Serie)

.XValues = "=" & TabellData & "!R" & rIndex + 1 & "C2:R" & rIndex + pCount & "C2"

'.Name = "=" & TabellData & "!R" & rIndex & "C" & cIndex

.Name = sNavn

.Values = "=" & TabellData & "!R" & rIndex + 1 & "C" & cIndex & ":R" & rIndex + pCount & "C" & cIndex

End With

Application.StatusBar = False

End Sub

 

 

På forhond takk :innocent:

Lenke til kommentar
Videoannonse
Annonse

Kort forklart, ikke en makro, men to funksjoner og to makroer til Excel.

 

Funksjonene er skreddersydde økonomifunksjoner og brukes sannsynligvis som formler i Excel-ark. De beregner samlede renter i serie- og annuitetslån tror jeg.

 

Første makro (sub) setter opp noe som jeg tror er en tabell over lån og betaling. Andre makro angir/endrer kildedata i et diagram. Første makro kjører andre makro to ganger, en for annuitetslånet og en for serielånet.

 

Det krever en del øvelse å lese sånt, jeg kan ikke lære deg å forstå alt i løpet av en setning eller to. Men nå har du da litt å bløffe med. Banker bør dessuten passordbeskytte kodene sine spør du meg ;)

 

Beste hilsen Harald

Lenke til kommentar

Har du talt over hvor mange ulike kommandoer vi snakker om? Nei du. Men prøv dette:

 

Start Excel. Åpne makroeditoren (Alt F11 eller så). Sett inn en modul (Insert - module). Lim inn all koden i modulen. Merk en kommando og trykk F1, så dukker forhåpentligvis forklaringene opp.

 

(Forhåpentligvis fordi det varierer om folk installerer VBA help med Office eller ikke)

 

Beste hilsen Harald

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...