[Excel VBA] Lijst

Pagina: 1
Acties:
  • 43 views sinds 30-01-2008

  • Ghost Rider
  • Registratie: Oktober 2004
  • Laatst online: 31-01 21:41
Ik heb een opdracht voor school. Ik ben nog een VBA-beginneling dus ik kom niet uit het volgende:

Allereerst mijn huidige script:

Option Explicit

Sub taxibedrijf()

Dim aantalKm As Integer
Dim beginTijd As Date
Dim eindTijd As Date
Dim ritPrijs As Single
Dim totKm As Long
Dim totTijd As Long
Dim totBedrag As Double

Call lees(aantalKm, beginTijd, eindTijd)
Call bereken(aantalKm, beginTijd, eindTijd, ritPrijs, totKm, totTijd, totBedrag)
Call schrijf(ritPrijs, totKm, totTijd, totBedrag)

End Sub


Sub lees(aantalKm As Integer, beginTijd As Date, eindTijd As Date)

aantalKm = Range("A5").Value
beginTijd = Range("B5").Value
eindTijd = Range("C5").Value

End Sub


Sub bereken(aantalKm As Integer, beginTijd As Date, eindTijd As Date, ritPrijs As Single, totKm As Long, totTijd As Long, totBedrag As Double)

Dim beginGetal As Double
Dim eindGetal As Double
Dim ritGetal As Double
Dim ritTijd As Long

beginGetal = beginTijd
eindGetal = eindTijd
ritGetal = eindGetal - beginGetal
ritTijd = ritGetal * 1440
ritPrijs = berekenRitPrijs(ritTijd, aantalKm)
totKm = totKm + aantalKm
totTijd = totTijd + ritTijd
totBedrag = totBedrag + ritPrijs

End Sub


Sub schrijf(ritPrijs As Single, totKm As Long, totTijd As Long, totBedrag As Double)

Range("E5").Value = ritPrijs
Range("F5").Value = totKm
Range("G5").Value = totTijd
Range("H5").Value = totBedrag

End Sub


Function berekenRitPrijs(ritTijd As Long, aantalKm As Integer) As Double

Dim kmTarief As Single
Dim minuutTarief As Single
Dim kmPrijs As Single
Dim tijdPrijs As Single
Dim totaal As Double

'Constanten
kmTarief = 1
minuutTarief = 0.25

kmPrijs = aantalKm * kmTarief
tijdPrijs = ritTijd * minuutTarief
totaal = kmPrijs + tijdPrijs

berekenRitPrijs = totaal

End Function


Momenteel voer ik in cel A5 het aantal kilometers in, B5 begintijd, C5 eindtijd. Vervolgens rekent ie ritprijs enzo uit.
Nu wil ik dit voor een lijst gegevens doen (A5 t/m A..., B5 t/m... enz.) met als uitkomst de ritprijs per regel (E5 t/m E...)en de overige uitvoer blijvend in resp. F5,G5,H5. Hoe pas ik mijn script hier op aan.

MVG

Bart

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Sja. Met een eenvoudige loop moet je er al zijn, maar huiswerk is toch iets dat je zelf moet (proberen te) maken :o

Hoe FOR werkt staat prima uitgelegd in de help, dus daar moet het mee lukken. Als je vast loopt op een specifiek iets en een handleiding helpt niet willen we best meedenken maar dit is iets dat je (nu je genoeg hints hebt) toch echt zelf moet doen. Naast loop en FOR nog en laatste hint: gebruik hulpgetallen voor de regel waarop je bent en werk het regel voor regel af. Dan moet het prima lukken. Succes :)

[ Voor 4% gewijzigd door F_J_K op 19-05-2005 00:00 . Reden: moe thet ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Dit topic is gesloten.