Hallo,
der Ansatz von Gast75924 ist falsch, denn ich versethe dich so, dass jede Zelle gleich gewichtet werden soll?!
Dann könntest du so arbeiten:
dim anzahl as long
dim summe as double
anzahl = 0
summe = 0
Schleife über die gewünschten Tabellenblätter
Schleife über die entsprechenden Zellen
summe = summe + Zellwert
anzahl = anzahl+1
Ende der Schleife
Ende der Schleife
Mittelwert = Summe / Anzahl
Die innere Schleife könnte man sich sparen und stattdessen mit
application.WorksheetFunction.Count( .. )
application.WorksheetFunction.Sum( .. )
arbeiten.
Du kannst auch komplett auf alle Schleifen verzichten:
with activeworkbook
MsgBox Application.WorksheetFunction.Average( _
.Worksheets(1).Range("E9:E11"), _
.Worksheets(2).Range("P23:Q34"), _
.Worksheets(2).Range("E9:E11"))
end with
Grüße, Ulrich
|