Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 11:16:26
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Max Wert der Zeile zuordnen

Forumthread: Max Wert der Zeile zuordnen

Max Wert der Zeile zuordnen
Lucia
Hallo zusammen,
Ich habe einen Datensatz, in dem in Spalte A die Messzeitpunkte aufgeführt sind und in Spalte B die Temperaturen.
In Spalte E werden nun alle Temperaturen herausgenommen, die über 55° liegen, alles drunter wird mit "0" belegt. Das ergeben sich Blöcke über mehrere Zeilen, mit Werten oberhalb von 55°, die eingeschlossen sind von Zeilen, die 0 als Werte haben. Diesen Blöcken habe ich übernachfolgendes Makro eine Nummer zugeteilt (Spalte F) plus in der selben Zeile (immmer die letzte Zeile des Blockes) den Maximalwert des Blockes ermittelt (Spalte G). Hier das Makro:
Sub Runfestlegen()
Dim loZeile1 As Long
Dim loZeile2 As Long
Dim loZaehler As Long
loZaehler = 1
loZeile1 = 2
Do
If Cells(loZeile1, 5)  0 Then
loZeile2 = loZeile1
Do
If Cells(loZeile1 + 1, 5) = 0 Then
Cells(loZeile1, 6) = loZaehler
Cells(loZeile1, 7).FormulaLocal = "=MAX(E" & loZeile2 & ":E" & loZeile1 & ") _
_
loZaehler = loZaehler + 1
End If
loZeile1 = loZeile1 + 1
Loop While Cells(loZeile1, 5)  0
loZeile1 = loZeile1 - 1
End If
loZeile1 = loZeile1 + 1
Loop While Cells(loZeile1, 5)  ""
End Sub
Frage: Wie erreicht man, dass der Maximalwert sowie die Runnumer nicht am Ende des Blockes sondern in der Zeile steht, in der sich auch der Maimalwert befindet?
Vielen Dank,
Lucia
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Max Wert der Zeile zuordnen
17.02.2010 13:39:12
Christian
Hallo Lucia,
das geht bestimmt auch eleganter - hier ein Bsp

Option Explicit
Sub GetMax()
Dim i As Long, lngLastRow As Long, lngCnt As Long
Dim lngMax As Long, dblVal As Double, dblMax As Double
Dim vntRes() As Variant
Const STARTROW As Long = 2
lngCnt = 1
With Sheets("Tabelle1")
lngLastRow = .Cells(.Rows.Count, 5).End(xlUp).Row
ReDim vntRes(STARTROW To lngLastRow, 1)
For i = STARTROW To lngLastRow + 1
dblVal = .Cells(i, 5).Value
If dblVal = 0 And lngMax > 0 Then
vntRes(lngMax, 0) = lngCnt
vntRes(lngMax, 1) = dblMax
If Cells(i + 1, 5).Value > 0 Then
lngCnt = lngCnt + 1
dblMax = 0
End If
End If
If dblVal > dblMax Then
dblMax = dblVal
lngMax = i
End If
Next
.Cells(2, 6).Resize(lngLastRow - STARTROW + 1, 2).Value = vntRes
End With
End Sub
Gib mir bescheid, wie du damit zurechtkommst.
Gruß
Christian
Anzeige
AW: Max Wert der Zeile zuordnen
17.02.2010 15:06:18
Lucia
Hervoragend...hat wunderbar geklappt!!!
Vielen, vielen dank!
;

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