Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1164to1168
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mittelwert über VBA bilden

Mittelwert über VBA bilden
Helmut
Hallo Excel-Profis,
kann mir jemand von Euch helfen, mittels VBA den Mittelwert zu einer Spalte zu bilden?
Das Problem liegt darin, dass oberhalb der Zelle, in der der Mittelwert stehen soll, manchmal 3, manchmal 5, manchmal 2, oder eine andere unbekannte Anzahl Zahlen stehen. Oberhalb der Zahlen, die berücksichtigt werden sollen, befindet sich immer eine Leerzeile.
Ich wäre Euch sehr dankbar, wenn Ihr mir eine Lösung über VBA zeigen könntet (die Funktion Teilergebnisse über das Menü Daten ist für mein Fall absolut nicht geeignet).
Vielen Dank im voraus und Gruß Helmut

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
MITTELWERT per VBA berechnen
05.07.2010 18:27:06
NoNet
Hallo Helmut,
hier ein Code-Beispiel für Werte der Spalte A :
Sub MittelwertPerVBA()
Dim lngEZ As Long, lngLZ As Long
Dim dblMittelwert As Double
lngEZ = Cells(1, 1).End(xlDown).Row + 2 'Leerzelle finden
lngLZ = Cells(Rows.Count, 1).End(xlUp).Row
dblMittelwert = Application.Average(Range(Cells(lngEZ, 1), Cells(lngLZ, 1)))
MsgBox "Mittelwert der Zahle aus A" & lngEZ & ":A" & lngLZ & _
":" & vbLf & dblMittelwert
End Sub
Gruß, NoNet
PS: Deutschland spielt "Vier gewinnt" :
gegen 4:0    gegen 4:1    gegen 4:0    gegen ?:?
;-)
Anzeige
AW: MITTELWERT per VBA berechnen
05.07.2010 20:13:10
Helmut
Hallo NoNet,
zuerst mal vielen Dank für Deine Unterstützung.
Allerdings habe ich mir die Lösung ein bisschen anders vorgestellt, warscheinlich habe ich mich unklar ausgedrückt.
Ich habe mal ein Beispiel angehängt. Inzwischen soll auch noch die Summe in einer weiteren Spalte gebildet werden.
https://www.herber.de/bbs/user/70439.xls
Vielen Dank nochmal für die Unterstützung.
Gruß Helmut
MITTELWERT() blockweise einfügen
05.07.2010 20:49:52
NoNet
Hallo Helmut,
das hatte ich anders verstanden, nicht dass die Funktionen mehrfach blockweise eingefügt werden sollen.
Das folgende Makro sollte das lösen (bitte lngEZ=5 beachten und ggf. anpassen !) :
Sub MittelwerteInLeerzellen()
Dim rngZelle As Range
Dim lngEZ As Long, lngLZ As Long
lngLZ = Cells(Rows.Count, 3).End(xlUp).Row  'Letzte Zeile der Spalte C ermitteln
lngEZ = 5 'Zeile mit der ersten auszuwertenden Zahl
For Each rngZelle In _
Union(Range("C5:C" & lngLZ).SpecialCells(xlCellTypeBlanks), Cells(lngLZ + 1, 3))
'MITTELWERT()-Funktion :
Cells(rngZelle.Row, 3).FormulaR1C1 = _
"=AVERAGE(R" & lngEZ & "C:R" & rngZelle.Row - 1 & "C)"
'SUMME()-Funktion :
Cells(rngZelle.Row, 4).FormulaR1C1 = _
"=SUM(R" & lngEZ & "C:R" & rngZelle.Row - 1 & "C)"
'Beginn des nächsten Zahlenblocks auf nächste Zeile setzen :
lngEZ = rngZelle.Row + 1
Next
'Speicher für Objektvariable wieder freigeben :
Set rngZelle = Nothing
End Sub
Gruß, NoNet
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige