AW: Code aus Forum in VBA-Modul kopieren
09.09.2013 16:08:21
fcs
Hallo Heinz,
Soll die Anzahl von 3-1-Folgen gezählt werden, bis die 0 das 1. Mal kommt, oder soll die größte Anzahl von 3-1-Serien Serien jeweils zwischen den 0-Werten ermittelt werden?
Gruß
Franz
Folgende Anpassung der Funktion erlaubt Optional beide Varianten, Standardmäßig wird bis zum 1.Stopp-Wert gezählt.
Function ZaehleSerie2(Bereich As Range, Wert1, Wert2, WertStop, _
Optional bolErste As Boolean = True) As Long
'FormelBeispiel: =ZaehleSerie2($N$4:$N$270;3;1;0)
'wenn bolErste = True dann wird bis zum 1. StopWert gezählt
'wenn bolErste = False dann wird die Max.-Anzahl zwischen den StopWerten ermittelt
Dim WertAlt, lngzeile As Long, SerieNeu As Long
For lngzeile = 1 To Bereich.Rows.Count
If Bereich.Cells(lngzeile, 1) "" Then
If Wert2 = Bereich.Cells(lngzeile, 1) Then
If WertAlt = Wert1 Then
SerieNeu = SerieNeu + 1
If SerieNeu > ZaehleSerie2 Then ZaehleSerie2 = SerieNeu
End If
ElseIf WertStop = Bereich.Cells(lngzeile, 1) Then
If bolErste = True Then
Exit Function
Else
SerieNeu = 0
End If
End If
WertAlt = Bereich.Cells(lngzeile, 1)
End If
Next
End Function