Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Min- und Max-Wert horizontal VBA

Min- und Max-Wert horizontal VBA
18.05.2020 08:46:51
Lars
Hallo zusammen,
ich lese in diesem Forum schon länger mit und stehe nun vor einem Problem, welches ich bisher leider nicht lösen konnte.
Es geht darum, den Mittelwert, Minimalwert bzw. Maximalwert einer Zeile (horizontal) auszugeben ohne hierbei ausgeblendete Spalten zu berücksichtigen. Mit dem Mittelwert klappt es wunderbar. Beim Min- bzw. Maximalwert ist es so, dass diese ohne Berücksichtigung ausgeblendeter Spalten ermittelt werden. Sprich es werden Minimal- und Maximalwerte der kompletten Range berücksichtigt.
Meine Funktion sieht wie folgt aus:

Function teilergebnisS(was As Integer, rng_ As Range) As Double
Application.Volatile
Dim Zelle As Range
For Each Zelle In rng_
If IsNumeric(Zelle) Then
If Zelle.Value  "" Then
Select Case was
Case 1
'mittelwert
If Zelle.EntireColumn.Hidden = False Then
anz = anz + 1
mittelw = mittelw + Zelle
teilergebnisS = mittelw / anz
End If
Case 2
'min-wert
If Zelle.EntireColumn.Hidden = False Then
teilergebnisS = Application.WorksheetFunction.Min(rng_)
End If
Case 3
'max-wert
If Zelle.EntireColumn.Hidden = False Then
teilergebnisS = Application.WorksheetFunction.Max(rng_)
End If
End Select
End If
End If
Next
End Function

Vielleicht findet sich ja hier ein Gedenkanstoß. Freue mich auf Eure Antworten.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Min- und Max-Wert horizontal VBA
18.05.2020 10:05:03
Regina
Hi,
beim Mittelwert arbeitet Dein Code ja Zelle für Zelle das Range ab. Bei Min und Max werden die entsprechenden Funktionen auf das gesamte Range angewendet, da hast Du dann die ausgeblendeten Zeilen wieder mit an Bord.
Teste mal so:
Function teilergebnisS(was As Integer, rng_ As Range) As Double
Application.Volatile
Dim Zelle As Range
Dim dbl_minwert As Double
Dim dbl_maxwert As Double
Dim bol_erster As Boolean
bol_erster = True
For Each Zelle In rng_
If IsNumeric(Zelle) Then
If Zelle.Value  "" Then
Select Case was
Case 1
'mittelwert
If Zelle.EntireColumn.Hidden = False Then
anz = anz + 1
mittelw = mittelw + Zelle
teilergebnisS = mittelw / anz
End If
Case 2
'min-wert
If Zelle.EntireColumn.Hidden = False Then
If bol_erster = True Then
dbl_minwert = Zelle
bol_erster = False
Else
If Zelle  dbl_maxwert Then
dbl_maxwert = Zelle
End If
End If
End If
End Select
End If
End If
Next
Select Case was
Case 2
teilergebnisS = dbl_minwert
Case 3
teilergebnisS = dbl_maxwert
End Select
End Function
Gruß Regina
Anzeige
AW: Min- und Max-Wert horizontal VBA
18.05.2020 11:02:42
Lars
Moin Regina,
vielen Dank für Deine Antwort und die Mühe zur Überarbeitung meines Codes. Ich muss sagen: Ich bin begeistert. Es scheint so zu funktionieren wie ich es mir vorgestellt habe.
Vielen lieben Dank!
AW: Min- und Max-Wert horizontal VBA
18.05.2020 11:18:03
Regina
Prima, danke für die Rückmeldung!
Gruß Regina
;

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