Makro mittelwert berechnen

ich habe ein makro geschrieben das folgendes tu soll:

die spalte (i) einer tabelle von unten nach oben „abtasten“ und sobald ein wert ungleich null da steht, den mittelwert der untesten (letzten) 100 zellen berechnen. und die mittelwert der jeweiligen zeile in die zelle (ac) schreibt.

habs mal so versucht:

Option Explicit

Sub average()
Dim i As Integer
For i = 0 To 65530
Range(„I65530“).End(xlUp).Offset(-i, 0).Rows.Select
If Selection 0 Then
Range(„AC100“).Formula = Selection / 100
Exit Sub
End If
Next
End Sub

irgenwie steckt aber der fehlerteufel drin

Hillllfffe

Hi Lunatic,

die spalte (i) einer tabelle von unten nach oben „abtasten“
und sobald ein wert ungleich null da steht, den mittelwert der
untesten (letzten) 100 zellen berechnen. und die mittelwert
der jeweiligen zeile in die zelle (ac) schreibt.

mir nicht klar was da genau geschehen soll.

irgenwie steckt aber der fehlerteufel drin

da steckt mehreres drin.
Hätte deine Schleife überhaupt funktioniert hättest du einen Überlauffehler bekommen.
Zeilen immer als Long deklarieren.

z.B. so asl Ansatz für deinen Code

Option Explicit

Sub MyAverage()
Dim Zei As Long, Letzte As Long
Letzte = Cells(Rows.Count, "I").End(xlUp).Row
For Zei = Letzte To 1 Step -1
 If Cells(Zei, "I") = 0 Then
 Cells(Zei, 29) = Application.Sum(Range(Cells(Zei, "I"), Cells(Letzte, "I"))) / (Letzte - Zei)
 Exit For
 End If
Next Zei
End Sub

Gruß
Reinhard

die spalte (i) einer tabelle von unten nach oben „abtasten“
und sobald ein wert ungleich null da steht, den mittelwert der
untesten (letzten) 100 zellen berechnen. und die mittelwert
der jeweiligen zeile in die zelle (ac) schreibt.

Wert in Spalte A
=wenn(A10;summe(a1:a100)/100;"")
in B1 einfügen und runterkopieren fertig

reicht das nicht?

LG Alex