probleem met invoercode

  • Onderwerp starter Onderwerp starter Leo21
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Leo21

Gebruiker
Lid geworden
1 sep 2009
Berichten
32
Geachte forumbezoekers,

Ik heb een probleem met het invoeren van een code in VBA. Het is de bedoeling dat in een cel de uitkomst van de som 1,093^0*18,975 + 1,093^1*18,975 + 1,093^2*18,975 + 1,093^3*18,975 + 1,093^4*18,975 + 1,093^5*18,975 = ? komt te staan.

Ik heb daarbij het volgende in VBA ingevoerd:

Private Sub CommandButton1_Click()

For j = [Berekening!K4] To [Berekening!K6] Step [Berekening!K5]
[Berekening!C9] = "=SUM(((R[-7]C[-7])^j)*(R-8]C[-7]))"

Next
End Sub

Hierbij geeft VBA met geel aan dat er een fout zit in de 3de zin, van Berekening C9. Heeft iemand een idee wat hieraan fout is?

Groet Leo
 
7 kolommen naar links C(-7) vanuit kolom C (3) vind ik nogal wat.
 
[Berekening!C9] = "=SUM(((R[-7]C[-7])^j)*(R-8]C[-7]))"

Moet dat niet zijn: [Berekening!C9] = "=SUM(((R[-7]C[-7])^j)*(R[-8]C[-7]))"

Tijs.
 
dnties en snb,

Bedankt voor jullie reactie, dnties ik heb je advies opgevolgd, alleen dit had niet het gewenste resultaat. Misschien is het beter als ik het bestandje dat ik heb laat zien.

Het is de bedoeling dat ik de lengte kan berekenen voor een brandweerslang die opgerold op een haspel zit.

Het is de bedoeling dat als ik op de start knop klik de maximale lengte eruitkomt die op zo n haspel kan.


Groet Leo
 

Bijlagen

Lijkt me typisch iets voor een funktie (UDF; gebruiker-gedefinieerde funktie)
Code:
Function verhaspeld(lengte As Long, naast As Integer, boven As Integer, gfaktor) As Long
   For j = 1 To boven
        verhaspeld = verhaspeld + naast * (lengte * (gfaktor ^ j))
   Next
End Function

zet bijv in cel g10:
=verhaspeld(G4;G5;G6;g7)
 
Laatst bewerkt:
snb,

Ik heb geprobeerd om je advies op te volgen, maar ik kom er nog steeds niet uit. Ik heb de volgende codeingevoerd. Ook zit ik met het probleem dat ik de berekening wil starten door op een button te klikken, maar dan krijg ik een foutmelding.

Code:
Private Sub CommandButton1_Click()

    Function verhaspeld(lengte As Long, naast As Integer, boven As Integer, gfaktor) As Long
    verhaspeld = [Berekening!C9]
    lengte = [Berekening!G4]
    naast = [Berekening!G5]
    boven = [Berekening!G6]
    gfaktor = [Berekening!G7]
    For j = 1 To boven
        verhaspeld = verhaspeld + naast * (lengte * (gfaktor ^ j))

    Next
End Function

Groet Leo
 
Ik heb mijn vorige suggestie aangepast.

Wijzig niets (!) aan de funktie die ik daar heb geplaatst.
Zet die funktie in een aparte macro-mudule van dit werkboek.
Een bestudeer zonodig in een boek, de hulpfunktie van Excel of Internet wat UDF's zijn en hoe je ze kunt gebruiken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan