Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1756to1760
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

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.

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

272 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige