folgende Funktion gibt mir die letzte benutzte Zeile in einer Tabelle zurück:
Function lngLastUsedRow() As Long
Dim i As Integer
Dim lngMin As Long
Dim lngMax As Long
For i = 1 To 256
lngMin = Cells(65536, i).End(xlUp).Row
If lngMax < lngMin Then
lngMax = lngMin
End If
Next i
lngLastUsedRow = lngMax
End Function
Dies funktioniert auch.
Nun möchte ich die Zelle nach der letzten Zeile per VBA eine Formel bzw. gleich deren Ergebnis einfügen, die mir den Mittelwert aller Zellen in dieser Spalte, die größer als Null sind, einfügen.
Mein Versuch sieht so aus und versagt leider:
Cells(lngLastUsedRow + 1, 46).Select
Selection.FormulaArray = "=AVERAGE(IF(R2C46: & lngLastUsedRow, 46>0,R2C46: & lngLastUsedRow, 46))"
Ich haber schon vieles probiert, komme aber leider nicht selbst auf die Lösung. Kann mir jemand helfen?
Vielen Dank vorab!
Grüße, Stefan