[excel] Probleme mit Find

sTEk

Erfahrenes Mitglied
Ich habe eine riesige Tabelle (65534 Zeilen) und möchte dort nach bestimmten Zahlen suchen. Nun wiederholen sich 1..255 n-mal und ich möchte einfach wissen, wie oft z.B. die 2 dabei war.
Leider klappt folgendes Makro nicht:

Code:
Sub Fehler()

    Dim w As Double
    Dim lz
    Dim firstAddress
 
    w = 0
    With Worksheets("Daten").Range("C1:C65535")
        Set lz = .Find(1, LookIn:=xlValues)
        If Not lz Is Nothing Then       'wurde 1 überhaupt irgendwann mal gefunden?
            firstAddress = lz.Address
            Do
                w = w + 1
                Set lz = .FindNext(lz)
            Loop While Not lz Is Nothing And firstAddress <> lz.Address
        End If
    End With
    
   firstAddress = lz.Address

End Sub 'hier hab ich zum Test einen break-point


Dummerweise zählt er mir (in w) alle Zellen zwischen A1 und A65535 die eine 1 im Wert haben. Ich brauche aber die, die nur eine 1 haben. Ich habe auch schon "1" probiert. Wie geht das?

By the way - wo bekomm ich gute Infos zu den Parametern her? Ich hab nicht herausgefunden, was z.B. xlValues bedeutet.
 
Seine Set-Zeile muß so aussehen:
Visual Basic:
        Set lz = .Find(1, LookIn:=xlValues, LookAt:=xlWhole)
So werden jedesmal der Suchsting und der gesamte Zelleninhalt verglichen, dies ergibt wirklich nur die Felder , wo "1" drinnen steht.


Der Doc!
 
Zurück