Matrix

Status
Niet open voor verdere reacties.

Lisjuhh05

Gebruiker
Lid geworden
21 jun 2007
Berichten
10
Hallo,

Ik ben bezig met Vba, en wie kan mijn vertellen wat een Matrix is,
hij geeft deze melding: Er word een matrix verwacht, maar zou niet weten wat dit is :o
Alvast Bedankt
 
Zet de rest van de code hier ook, tussen code tags (het # teken bovenaan) en geef aan welke regel de foutmelding veroorzaakt.
 
Code:
Private Sub Label1_Click()
Dim rente As Double
Dim bedrag As Double
Dim eindbedrag As Integer

rente = Val(TextBox1.Text)
bedrag = bedrag(Text2.Text)
eindbedrag = rente * bedrag + 50
TextBox3.Text = str(eindbedrag)

End Sub

Private Sub Label2_Click()
TextBox1.Text = ""
End Sub

De regel bedrag = bedrag(Text2.Text) Geeft de foutmelding
 
En wat wil je eigenlijk in die regel doen? Het je een eigen nieuwe functie geprogrammeerd?
 
Het is de bedoeling, dat je met deze code Rente op Rente kunt bereken...
Maar als jullie er niet uit komen dan niet! ;)
 
Het is de bedoeling, dat je met deze code Rente op Rente kunt bereken...

Dat gaat met deze code in ieder geval niet lukken ;)
Weet je wat een meetkundige rij is (daar heb je het namelijk over)?
Als je dat wat, moet met een beetje VBA kennis eea niet echt moeilijk zijn.

Groet,

Tardis
 
Code:
Private Sub Label1_Click()
Dim rente As Double
[COLOR="Red"]Dim bedrag As Double[/COLOR]
Dim eindbedrag As Integer

rente = Val(TextBox1.Text)
bedrag = [COLOR="red"]bedrag(Text2.Text)[/COLOR]
eindbedrag = rente * bedrag + 50
TextBox3.Text = str(eindbedrag)

End Sub

Private Sub Label2_Click()
TextBox1.Text = ""
End Sub

De regel bedrag = bedrag(Text2.Text) Geeft de foutmelding

Dat is niet zo gek dus. Bedrag is een variabele van het type double. Die gebruik je verderop als een functie.
Verder is de variabele eindbedrag van het type integer??. Terwijl rente en bedrag doubles zijn. Als je het wil afronden op een geheel getal dan zou ik in ieder geval het type long nemen, maar beter is natuurlijk een double.

Verder snap ik ook niet waarom je er 50 bij optelt.

Maak even een recursieve functie :love: die dit voor je doet. Leuk!
 
Axel,

da's om enkelvoudige interest te berekenen en we hebben het over samengestelde interest ;)

Groet,

Tardis
 
Dag Tardis,

Uit Wikipedia: Er bestaat een anekdote over Albert Einstein, die op de vraag of hij een achtste wereldwonder kon noemen, zou hebben geantwoord: "Ja, de samengestelde intrest." Dit verschijnsel, ook wel rente-op-rente genoemd, houdt in dat over de rente die op een kapitaal wordt gekweekt, maar die niet wordt opgenomen, ook weer rente wordt betaald. Daardoor groeit het kapitaal niet lineair, maar volgens een steeds stijgende curve (exponentieel).
Een hulpmiddel om het effect van de samengestelde intrest te berekenen, is de 72-regel, die aangeeft hoe lang het (bij benadering) duurt voordat een bedrag verdubbelt:
rentepercentage * jaren = (ongeveer) 72
Enkelvoudige intrest wordt daarentegen alleen over het oorspronkelijke kapitaal berekend.

Volgens mij doet mijn code dat ook. Maar ik heb het nu zo gemaakt dat er wordt uitgerekend hoeveel jaar het duurt om het bedrag te verdubbelen. Zie bijlage,

Gegroet,

Axel.
 

Bijlagen

Dag Tardis,

Ik begrijp niet wat je laatste aanwijzing inhoud. Mijn code geeft rente op rente:
Code:
  b = TextBox1.Value               'dit is de inleg
  c = TextBox2.Value               'dit is het rentepercentage
  For i = 1 To TextBox3.Value   'dit is het aantal jaren dat het bedrag vast staat
    r = r + b * c / 100                 'hier wordt de renteopbrengst (r) van elk jaar getotaliseert
    b = b + b * c / 100                'hiet wordt het bedrag (b) met de renteopbrengst getotaliseerd dat betekent dat de renteberekening ook van toepassing is op de renteopbrengst de zogenaamde rente-op-rente of te wel samengestelde interest.
  Next
Gegroet,

Axel
 
Wat ik aangeef is dat je een meetkundige rij hebt en aldus de code op moet zetten:

n = aantal termijnen
r = relatieve intrest
i = periodieke inleg
b = eindbedrag

b = i*(1-(1+r)^n/(1- (1+r)

Groet,

Tardis
 
Dag Tardis,

Wat jij hebt aangegeven over mijn code is:

"da's om enkelvoudige interest te berekenen en we hebben het over samengestelde interest"

En dat is volgens mij niet waar.

De gegeven formule is erg indrukwekkend, maar wat bewijst die?
Wat ik als verschil zie is de periodieke inleg, maar dat heeft toch niets met samengestelde interest te maken?

Gegroet,

Axel.
 
Laatst bewerkt:
Dag Tardis,

Dit was de vraag:
"Het is de bedoeling, dat je met deze code Rente op Rente kunt bereken...
Maar als jullie er niet uit komen dan niet!"

En dit was mijn antwoord:
Code:
  b = TextBox1.Value
  c = TextBox2.Value
  For i = 1 To TextBox3.Value
    r = r + b * c / 100
    b = b + b * c / 100
  Next
  Label5.Caption = Format(r, "#,##0.00") & vbCr & Format(b, "#,##0.00")

Dus ook zonder formule gaat dat. Overigens is je formule onjuist; er ontbreken twee haakjes":
b = i*(1-(1+r)^n/(1- (1+r)

Om ook maandelijks een bedrag te kunnen inleggen heb ik de code aangepast. Zie bijlage.

Gegroet,

Axel.
 

Bijlagen

Lijkt me beter dat er gefocused wordt op het helpen van forummers dan een wedstrijdje opzetten "wie heeft er gelijk" ;)
Discussie bij deze gesloten.

Tardis
 
Laatst bewerkt:
Dag Tardis,

Dit is geen wedstrijdje. Jij beweerde dat mijn oplossing niet deugde en dat heb ik weerlegt.

Overigens heb ik intussen wel drie mogelijke oplossingen voor het berekenen van rente-op-rente geleverd.

Gegroet,

Axel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan