Hallo Leute,
ich habe einen - aus meiner Sicht - komischen Fehler
Der Code ist eigentlich ganz einfach. Es wird von unten (zeilenzahl) nach oben eine gewisse Anzahl (n) an Zellen addiert und ausgegeben.
In der Zeile
ergebnis = ergebnis + Cells(aktivezeile - zaehler, 2)
kommt allerdings immer Laufzeitfehler 13. Habe schon probiert die Variablen anders zu definieren (Long, Double, Integer etc.), alles jedoch ohne Erfolg.
Ich glaube der Fehler besteht seit ich zaehler und ergebnis am Ende jeder Runde wieder auf 0 setze - aber dies muss so sein. Habe ich etwas falsch gemacht?
Der gesamte Code:
Dim n As Integer
Dim zaehler As Long
Dim ergebnis As Long
Dim zeilenzahl As Integer
Dim aktivezeile As Integer
Public Sub Berechnung()
n = Cells(2, 3)
zaehler = 0
ergebnis = 0
zeilenzahl = Cells(Rows.Count, "B").End(xlUp).Row
aktivezeile = zeilenzahl
Do While aktivezeile > 2
Do While n > zaehler
ergebnis = ergebnis + Cells(aktivezeile - zaehler, 2)
zaehler = zaehler + 1
Loop
Cells(aktivezeile, 4).Value = ergebnis
aktivezeile = aktivezeile - 1
zaehler = 0
ergebnis = 0
Loop
End Sub
|