AW: Problem mit Select SpecialCells
04.10.2008 13:40:39
Daniel
Hi
das Problem bei SpecialCells ist nicht die absolute Anzahl von Zellen, sondern die anzahl der Zellbereiche.
ein Zellbereich ist immer ein zusammenhängender Zellblock.
mal als beispiel:
in den Zellen A1:A4 sind jeweils 2 Zellen beschrieben und 2 Zellen leer, die leeren sollen gelöscht werden.
bei folgender Verteilung sind es 2 Zellbereiche (mit jeweils 1 Zelle)
1 x
2
3 x
4
bei dieser Verteilung hingegen ist des nur 1 Zellbereich (mit 2 Zellen), der gelöscht werden muss
1 x
2 x
3
4
entscheidend ist für Excel immer die Anzahl der Zellbereiche, nicht deren Grösse.
wenn, wie in deinem Beispiel, die Zellen nach folgendem Schema gefüllt sind (erste und letzte gefüllt, dazwischen leer):
1 x
2
3
65534
65535 x
dann ist es auch nur 1 Zellbereich der Gelöscht werden muss (halt eben mit 65533 Zellen, aber das ist Exel egal) und für Excel überhaupt kein Problem
sieht die Füllung dagegen so aus (immer abwechselnd gefüllt/leer, das wäre jetzt das Worst-Case-Szenario):
1 x
2
3 x
4
65533 x
65534
65535 x
dann sind es 32768 Zellbereiche, die gelöscht werden müssten.
damit ist Excel überfordert, da das Limit bei 8192 Zellbereichen liegt.
hinzu kommt, daß mit der Anzahl der Zellbereiche auch die Verarbeitungsgeschwindigkeit sinkt.
um in dem o.g. Worst-Case-Szenario die Zellen zu löschen, benötigt die Variante mit Sortieren 0,2 Sekunden, die Variante ohne Sortieren (aufgabe wird in 4 Blöcke geteilt, um das Limit nicht zu überschreiten) c.a. 200 Sekunden, ist also um den Faktor 1000 ! langsamer.
ich denke, jetzt sollte klar sein, warum ich empfehle zu sortieren.
klar, bei anderen Datenmengen oder Verteilungen reduzieren sich die Vorteile, aber wer mit Grossen Datenmengen agiert, sollte sich darüber bewusst sein, daß Sortieren eine der schnellsten Funktionen in Excel ist und sich damit viele Aufgaben vereinfachen und beschleunigen lassen (z.B. das finden von Duplikaten)
Gruß, Daniel