For Next Schleife ?

Bild

Betrifft: For Next Schleife ? von: Wolfgang
Geschrieben am: 16.02.2005 16:13:25

Hallo!

Mit folgendem Ausschnitt aus einem ziemlich umfangreichen Makro lasse ich mir den Mittelwert (in B8)der letzten 13 eingetragenen Werte in Spalte B anzeigen. Dies klappt auch sehr gut,allerdings kommt es zu falschen Berechnungen, wenn bei den gerechneten Werten ein Wert fehlt. Dieser wird als Null erkannt.
Ich denke, daß ich zur richtigen Berechnung sicherlich keine For Next Schleife verwenden sollte, leider reichen meine VBA- Bastelkenntnisse nicht aus dieses umzusetzen. Ich brauche also Hilfe um den Mittelwert der letzten 13 Werte in einer Spalte zu ermitteln, ohne Einbeziehung von Nullstellen.
Ich hoffe auf Hilfe.

Vielen Dank
Wolfgang


Private Sub Worksheet_Change(ByVal Target As Range)
Dim i, lZeile As Integer
Dim wert, Ergebnis As Double
If Not Intersect(Target, Range("B9:B999")) Is Nothing Then
    Application.EnableEvents = False
    lZeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
    For i = lZeile To lZeile - 12 Step -1
    wert = wert + ActiveSheet.Cells(i, 2).Value
    Next i
    Ergebnis = wert / 13
    Ergebnis = Format(Ergebnis, "#,#0.00")
    Range("B8") = Ergebnis
    Application.EnableEvents = True
End If
End Sub

Bild


Betrifft: AW: For Next Schleife ? von: Jan
Geschrieben am: 16.02.2005 16:16:32

Verwende Application.Average so werden Nullwerte ignoriert.

mfg Jan


Bild


Betrifft: AW: For Next Schleife ? von: harry
Geschrieben am: 16.02.2005 16:19:47

hi, entweder so in der art:
For i = lZeile To lZeile - 12 Step -1
If IsEmpty(ActiveSheet.Cells(i, 2)) = False Then
wert = wert + ActiveSheet.Cells(i, 2).Value
basis = basis + 1
Next i
Ergebnis = wert / basis

oder du schaust bei den WorksheetFunction nach.

liebe grüße,
harry


Bild


Betrifft: AW: For Next Schleife ? von: Wolfgang
Geschrieben am: 16.02.2005 16:30:03

Vielen Dank für die super schnelle Antworten.
Habe Harrys Lösung probiert und es klappt.

Nochmals vielen Dank

Wolfgang


Bild


Betrifft: basis aber wieder leeren !!! o.T. von: harry
Geschrieben am: 16.02.2005 16:32:18

.


Bild


Betrifft: AW: basis aber wieder leeren !!! o.T. von: Wolfgang
Geschrieben am: 16.02.2005 20:19:10

Okay und nochmals Danke

Gruß
Wolfgang


 Bild

Beiträge aus den Excel-Beispielen zum Thema "For Next Schleife ?"