Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1136to1140
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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige