AW: zählen hintereinader folgender gleicher Zahlen
Worti
Hallo Inge,
hab mal eine UDF gebastelt. Wenn ich es richtig verstanden habe, sollte es so gehen:
Folgenden Code in ein allgemeines Modul kopieren:
Function MaxAnzahl(rngBereich As Range, strZeichen As String) As Long
Dim lngMerkMax As Long, lngZeile As Long
MaxAnzahl = 0
If rngBereich.Columns.Count > 1 Then
MaxAnzahl = "#Wert"
Else
If rngBereich.Count = 1 And CStr(rngBereich.Cells(1, 1).Value) = strZeichen Then
MaxAnzahl = 1
Else
lngMerkMax = 0
lngZeile = 1
Do
Do While (CStr(rngBereich.Cells(lngZeile, 1).Value) = strZeichen Or rngBereich. _
Cells(lngZeile, 1).Value = "") And _
lngZeile <= rngBereich.Count
If CStr(rngBereich.Cells(lngZeile, 1).Value) = strZeichen Then
lngMerkMax = lngMerkMax + 1
End If
lngZeile = lngZeile + 1
Loop
If lngMerkMax > MaxAnzahl Then
MaxAnzahl = lngMerkMax
End If
lngMerkMax = 0
lngZeile = lngZeile + 1
Loop Until lngZeile > rngBereich.Count
End If
End If
End Function
Das ergibt dann bei Eingabe der Formel im Tabellenblatt:
Tabelle1 | A | B |
105 | max 1 Mit UDF | max -1 mit Udf |
106 | 4 | 6 |
verwendete Formeln |
Zelle | Formel |
A106 | =MaxAnzahl($A$2:$A$100;1) |
B106 | =MaxAnzahl($A$2:$A$100;-1) |
http://c.excelhost.de/c_beverly/getfile.php?id=122
Tabellendarstellung in Foren Version 5.3
Gruß Worti