Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
512to516
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
512to516
512to516
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Mittelwert in Monaten in VBA

Mittelwert in Monaten in VBA
05.11.2004 17:29:04
Wolfgang
In Spalte A stehen vollständige Datumsangaben. (jede Zeile der nachfolgende Tag) Mein Makro errechnet den Mittelwert der Werte in Spalte B, C, D und E eines jeweiligen Monats (aus ComboBox).
Es klappt gut, bis auf den Fall, daß der Monat, indem nicht alle Werte vollständig eingetragen sind, falsch errechnet wird.
Kann man das Problem lösen ?
Hoffe auf Eure Hilfe
MfG
Wolfgang
Option Explicit
Public datu, dat

Private Sub ComboBox1_Change()
Dim r, b, h, f As Integer
Dim betr, betr1
Dim ma  As Integer
Label1.Caption = ""
TextBox1 = ""
ma = Range("A65536").End(xlUp).Row
dat = ComboBox1.Text
r = 2
Do While Format(Cells(r, 1), "MMMM") <> dat
r = r + 1
If r >= ma Then
Label1.Caption = "Keine Daten vorhanden"
Exit Do
End If
Loop
If Format(Cells(r, 1), "MMMM") = dat Then
b = r
End If
Do While Format(Cells(r, 1), "MMMM") = dat
betr = (betr + Cells(r, 2) + Cells(r, 3) + Cells(r, 4) + Cells(r, 5))
r = r + 1
betr1 = betr / (r - b) / 4
Loop
TextBox1 = Format(betr1, "#,##0.00 ")
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Mittelwert in Monaten in VBA
05.11.2004 21:48:42
Wolfgang
Habe selbst eine Lösung gefunden.
Gruß Wolfgang
Und wie sieht die Lösung aus?........oT.
AndréL.
AW: Und wie sieht die Lösung aus?........oT.
06.11.2004 14:56:47
Wolfgang
So ,Gruß Wolfgang:
Option Explicit
Public datu, dat

Private Sub ComboBox1_Change()
Dim r, b, h, f As Integer
Dim betr, betr1
Dim ma  As Integer
Label1.Caption = ""
TextBox1 = ""
ma = Range("A65536").End(xlUp).Row
dat = ComboBox1.Text
r = 2
Do While Format(Cells(r, 1), "MMMM") <> dat
r = r + 1
If r >= ma Then
Label1.Caption = "Keine Daten vorhanden !"
Exit Do
End If
Loop
If Format(Cells(r, 1), "MMMM") = dat Then
b = r
End If
Do While Format(Cells(r, 1), "MMMM") = dat
betr = WorksheetFunction.Average(Range(Cells(b, 2), Cells(r, 5)))
r = r + 1
Loop
TextBox1 = Format(betr, "#,##0.00 ")
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige