Ich habe ein Blatt voller roher Daten, etwa 20.000 Zeilen und 50 Spalten. (Anzahl der Zeilen, die erhöht werden sollen, wahrscheinlich doppelt, wenn nicht dreifach)Excel/VBA, um zu prüfen, ob eine Zeile existiert
Ich brauche eine Formel, um diese Daten zu betrachten und festzustellen, ob eine Zeile für Daten in zwei angegebenen Spalten existiert. Meine derzeitige Formel lautet wie folgt.
Function CheckExists(Table As Range, SearchCol1 As Integer, SearchVal1 As Variant, SearchCol2 As Integer, SearchVal2 As Variant)
Dim i As Long
Dim exists As Boolean
exists = False
For i = 1 To Table.Rows.Count
If Table.Cells(i, SearchCol1) = SearchVal1 Then
If Table.Cells(i, SearchCol2) = SearchVal2 Then
exists = True
Exit For
End If
End If
Next i
CheckExists = exists
End Function
Ich führe diese Formel aus einem anderen Blatt, mit etwa 5000 Zeilen.
Mein Problem ist, dies tötet meinen PC, es dauert ewig, um die Zellen zu berechnen. Ich hoffe, dass jemand einige Vorschläge machen kann, wie man das schneller oder sogar besser machen kann, eine eingebaute Formel, die tun kann, wonach ich suche.
Wenn Sie erwarten, dass sich die Anzahl der Zeilen verdreifacht, sind Sie in Schwierigkeiten. Excel lässt nur 65536 Zeilen im Worksheet-Objekt zu. – HardCode