Excel/VBA: Anzahl der unterschiedlichen Werte ermitteln

WiZdooM

Erfahrenes Mitglied
Hallo

Ich habe eine Tabelle mit 2000 Zeilen.
Darin stehen etwas verstreut die Kalenderwochen.
Nun muss ich die Anzahl der Einträge für jede Kalenderwoche ermitteln.

Code:
For n=2 To 2000
KW1 = Sheets("Tabelle1").Cells(n, 1).Value 'Variablenzuweisung
KW2 = Sheets("Tabelle1").Cells(n + 1, 1).Value 'Variablenzuweisung

'--------Hochzählen der KW solang KW gleich der KW ein Zelle tiefer---------
    If KW1 = KW2 And KW2 <> 0 Then
        GesAnzahl = GesAnzahl + 1
        KWStats(KW1, 1) = GesAnzahl
    End If
Next n

Wenn ich nun KWStats in einer Schleife ausgeben lasse, kriege ich zwar die Kalenderwochen angezeigt für die ein Eintrag existiert, aber nicht die Anzahl. die ist immer 0.
Ich finde den Fehler nicht...
 
Ich habs mal kopiert und wollt es austesten.
Was ist 'KWStats(KW1, 1)' ?

So auf die Schnelle würd ichs etwa so lösen

Visual Basic:
Sub test2()
    Dim lastValue, actValue As Variant
    Dim count   As Long
    
    For Each actValue In Sheets("Sheet1").Range("E1", "E20").Value
        If lastValue = actValue Then
            count = count + 1
        ElseIf Not IsEmpty(actValue) Then
            count = 1
        Else
            Exit For
        End If
        
        Debug.Print actValue, count
        
        lastValue = actValue
    Next actValue
End Sub
 
Zuletzt bearbeitet:
KWStats(KW1,1) ist ein n Zeilen, 2 Spalten Array. KW1 und 2 ist hier der Value aus Cells(n,1) bzw Cells(n+1,1) in dem die Kalenderwoche steht.

Edit: Mit Deinem Code habe ich es zufriedenstellend hinbekommen. Danke Dir!
 
Zuletzt bearbeitet:
Zurück