Excel VBA Summe mit laufendem Index

Hallo Miteiander,

muss seit laaanger Zeit mal wieder was mit VBA machen:

Möchte folgene Formel in Excel laufen lassen:

LG = 1 + Summe (1-i/Gasse)^Artikel

Startwert für i=1
Endwert bei i= G-1

Ausgabe in normaler Zelle mit dem Namen „Letzte“…

habe folgendes bisher probiert:

Public Function LetzterWeg (Gassen As Long, Artikel as Long, LG as Long)
LG=0
For i=0 to (Gassen-1)
LG=1+(1-(i/Gassen)^Artikel
Next i
Letzte = Lg
End Function

Für Hilfe wäre ich echt dankbar…ist auch egal ob über PublicFunction oder klassisches Makro…

Lieber Gruß
Steffen

Hallo Steffen,

LG = 1 + Summe (1-i/Gasse)^Artikel

Meinst du so:
LG = 1 + Summe ((1-i/Gasse)^Artikel)
oder so
LG = 1 + (Summe (1-i/Gasse))^Artikel
oder so
LG = (1 + Summe (1-i/Gasse))^Artikel
oder oder?

Ausgabe in normaler Zelle mit dem Namen „Letzte“…

Ist doch gleich wo du die Frml. in Excel reinschreibst.

Public Function LetzterWeg (Gassen As Long, Artikel as Long,LG as Long)
LG=0

Warum übergibst du da LG und setzt es dann gleich auf 0?

Mir ist noch völlig unklar was du genau möchtest.

Option Explicit

Sub tt()
MsgBox LetzterWeg(100, 20, 100)
End Sub

Public Function LetzterWeg(Gassen As Long, Artikel As Long, LG As Long)
Dim i As Long
LG = 0
For i = 0 To (Gassen - 1)
LG = 1 + (1 - (i / Gassen)) ^ Artikel
Next i
LetzterWeg = LG
End Function

Gruß
Reinhard

Hallo Reinhard,

Dank für deine schnelle Antwort:

Ich meine so:

LG = 1 + Summe ((1-i/Gasse)^Artikel)

Ausgabe in normaler Zelle mit dem Namen „Letzte“…

Ist doch gleich wo du die Frml. in Excel reinschreibst.

  • Ok du hast Recht wie gesagt schon ein bisschen her…

Public Function LetzterWeg (Gassen As Long, Artikel as Long,LG as Long)
LG=0

Warum übergibst du da LG und setzt es dann gleich auf 0?

hab ich aus nem alten Programm übernommen war aber Quatsch…

Mir ist noch völlig unklar was du genau möchtest.

Option Explicit

Sub tt()

MsgBox LetzterWeg(100, 20, 100)

End Sub

Public Function LetzterWeg(Gassen As Long, Artikel As Long,
LG As Long)

Dim i As Long

LG = 0

For i = 0 To (Gassen - 1)

LG = 1 + (1 - (i / Gassen)) ^ Artikel

Next i

LetzterWeg = LG

End Function

Gruß

Reinhard

Warum übergibst du da LG und setzt es dann gleich auf 0?

hab ich aus nem alten Programm übernommen war aber Quatsch…

Hallo Steffen,

und nun?

Gruß
Reinhard

Hallo Reinhard,

hat funktioniert!

Vielen Dank!

Doch nicht hatte mich getäuscht! Also nochmal, egal was ich bisher gemacht habe brauche eine Lösung in Excel für die folgende Gleichung:

LG = 1 + Summe (1 -(i/G)^A); [Start bei i=1]; [Ende bei i=G-1]

Danke für eure Hilfe!

Steffen

Doch nicht hatte mich getäuscht! Also nochmal, egal was ich
bisher gemacht habe brauche eine Lösung in Excel für die
folgende Gleichung:
LG = 1 + Summe (1 -(i/G)^A); [Start bei i=1]; [Ende bei
i=G-1]

Hallo Steffen,

vielleicht so:

Option Explicit

Sub test()
MsgBox LetzterWeg(100, 5)
End Sub

Public Function LetzterWeg(Gassen As Long, Artikel As Long)
Dim lngN As Long
For lngN = 1 To Gassen - 1
 LetzterWeg = 1 + Application.Sum(1 - (lngN / Gassen) ^ Artikel)
Next lngN
End Function

Gruß
Reinhard