Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mittelwert einer Zeile mit 0-Werten in VBA

Mittelwert einer Zeile mit 0-Werten in VBA
31.10.2004 11:32:27
Wolfgang
Ausgehend von B1, C1, D1, E1, B2, C2, D2 usw. werden laufend Werte in o.g. Reihenfolge eingegeben.
Ich würde gern den Mittelwert der jeweiligen Zeile in Spalte F automatisch nach Werteingabe angezeigt bekommen, egal ob in der jeweiligen Zeile 1,2,3 oder 4 Werte stehen. Leider funktioniert mein Makro nicht richtig,
Freue mich über jede Hilfe.
MfG
Wolfgang

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim a, b, c, d, MW As Single
a = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Select
a = ActiveCell.Value
b = ActiveCell.Offset(0, 1).Value
If b = 0 Then
MW = a
Else: c = ActiveCell.Offset(0, 2).Value
If c = 0 Then
MW = (a + b) / 2
Else: d = ActiveCell.Offset(0, 3).Value
MW = (a + b + c) / 3
If d > 0 Then
MW = (a + b + c + d) / 4
End If
End If
End If
ActiveCell.Offset(0, 4) = MW
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mittelwert einer Zeile mit 0-Werten in VBA
31.10.2004 12:23:59
Nepumuk
Hallo Wolfgang,
so geht's besser:


Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column >= 2 And Target.Column <= 5 Then
        Application.EnableEvents = False
        Cells(Target.Row, 6).Value = WorksheetFunction.Average(Range(Cells(Target.Row, 2), Cells(Target.Row, 5)))
        Application.EnableEvents = True
    End If
End Sub


Gruß
Nepumuk
Anzeige
AW: Mittelwert einer Zeile mit 0-Werten in VBA
Wolfgang
Vielen Dank, es klappt alles super, bis auf den Fall, daß ich den Inhalt einer Zeile
komplett lösche. In diesem Fall wird mir die 4. Zeile als Fehler ausgegeben und meine
anderen Prozeduren laufen erst wieder, wenn ich die Tabelle neu öffne.
Wäre für einen Tip sehr dankbar.
MfG
Wolfgang
Anzeige
AW: Mittelwert einer Zeile mit 0-Werten in VBA
31.10.2004 13:43:07
Nepumuk
Hi,
mein Fehler, habe ich nicht dran gedacht.


Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column >= 2 And Target.Column <= 5 Then
        Application.EnableEvents = False
        If WorksheetFunction.CountA(Range(Cells(Target.Row, 2), Cells(Target.Row, 5))) <> 0 Then
            Cells(Target.Row, 6).Value = WorksheetFunction.Average(Range(Cells(Target.Row, 2), Cells(Target.Row, 5)))
        Else
            Cells(Target.Row, 6).Value = ""
        End If
        Application.EnableEvents = True
    End If
End Sub


Gruß
Nepumuk
Anzeige
AW: Mittelwert einer Zeile mit 0-Werten in VBA
Wolfgang
Vielen Dank und ein schönes Wochenende.
Viele Grüße
Wolfgang
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige