Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
480to484
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
480to484
480to484
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Overflow bei zeilenweisem vergleichen

Overflow bei zeilenweisem vergleichen
10.09.2004 10:46:15
Bernhard
Servus,
da habe ich nun endlich ein VB Makro welches mir doppelte Zeilen anhand einzelneer Felder markiert -
und dann bekopmme ich einen overflow.
Es sind 47973 Zeilen und die Salten A bis BS
Und das Makro das Probleme macht ist einfach aber funktionierte bisher:

Sub Doppelte_Zeilen_Spalte1_sortieren_und_markieren()
' vergleicht dann alle uebereinander liegenden Felder in Spalte A und markiert die doppelten Spalten rot
' Anzahl der Zeilen wird in A festgestellt
' Es gibt eine Überschriftenzeile
Dim I As Integer ' Startzeile ist Zeile 2 wegen der Überschrift
Dim J As Integer ' Durchlaufender Zähler
For I = 2 To Cells(Rows.Count, 1).End(xlUp).Row
For J = Cells(Rows.Count, 1).End(xlUp).Row To I + 1 Step -1
If Cells(I, 1) = Cells(J, 1) And Cells(I, 4) = Cells(J, 4) Then
Rows(J).Interior.ColorIndex = 3
' Rows(J).Delete
End If
Next J
Next I
End Sub

Hat jemand eine Idee weshalb ich einen Fehler wie folgt bekomme:
Runtime error (6)
Overflow
Der Debuger geht dann in die Zeile:
For I = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Danke fuer Eure Hilfe.
Bernhard Stillger

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Overflow bei zeilenweisem vergleichen
10.09.2004 11:23:29
Bernhard
Servus,
als Anmerkung noch:
Ich habe eine Rechner mit 1 GB RAM und einem P4 M 2,2 GHz.
Aber ich denke es ist kein Hardwareproblem.
Gruss
Bernhard
AW: Overflow bei zeilenweisem vergleichen
ypsilon
hi Bernhard
wenn du dann mal i als long deklarierien würdest ;-)
cu Micha
AW: Overflow bei zeilenweisem vergleichen
10.09.2004 14:10:07
Bernhard
Hallo ypsilon,
vielen Dank.
Ich musst allerding I und J als Long deklarieren. Nur "I" brachte trotzdem einen overflow.
Aber die Performance ist ja grottenschlecht. kann man das irgendwie beschleunigen ?
Da gab es doch einen VB Parameter, der das Disply nicht jedesmal aktualisierte.
Wo finde ich diesen oder wie heist er und wie baue ich den denn ein; dann sollte es doch schneller werden, oder ?
Gruss
Bernhard
Anzeige
AW: Overflow bei zeilenweisem vergleichen
yps
hi Bernhard,
wozu brauchst du J ?
wenn du sowieso nur die darüberligende zeile vergleichen willst reicht I
und der "parameter" ist auch eingebaut ;-)

Sub Doppelte_Zeilen_Spalte1_sortieren_und_markieren2()
Dim I As Long
ScreenUpdating = False
For I = 3 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(I - 1, 1) = Cells(I, 1) And Cells(I - 1, 4) = Cells(I, 4) Then
Rows(I).Interior.ColorIndex = 3
End If
Next I
ScreenUpdating = True
End Sub

cu Micha
Performance hierzu schlecht
10.09.2004 18:20:50
Bernhard
Hallo,
der Rueffel ist angekommen - obwohl es fuer mich verschiedene Fragen sind.
Aber trotzdem, machen wir hier weiter:
Die Performance bei meinem Problem ist grottenschlecht.
Jetzt habe ich schon das aktualisieren des Bildschirm unterdrueck (Application.ScreenUpdating = False) und loesche auch nicht gleich sondern markiere in Rot und in Spalte BV mit X.
Aber er benoetigt fuer ca. 1000 Yeilen 6 Minuten. Und ich habe uebr 47000 :-(
Geht es irgendwie schneller ?
Gruss
Bernhard
Anzeige
AW: Performance hierzu schlecht
yps
liest du eigentlich mal was man dir so schreibt ?
schau dir doch einfach mal meinen letzten post in diesem thread an
cu Micha
AW: Performance hierzu schlecht
10.09.2004 20:27:39
Bernhard
Hallo yps,
klar habe ich das gelesen. Ich hatte es jedoch nicht als Performancesteigernd erkannt, sondern als verbesserte, wereinfachte Art das gleioche zu tun :-).
Also werde ich es gleich einmal ausprobieren - und gebe Dir Bescheid was dabei herausgekommen ist. Danke fuer deine Hilfe.
Gruss
Bernhard
AW: Performance hierzu schlecht
yps
hi Bernhard,
wenn du eine schleife weglässt sparst du ja nur rund 50.000 mal 50.000 durchläufe ;-)
warum sollte das auch schneller sein ? *grins*
cu Micha
Anzeige
Zps performt wie ... super schnell - Danke
10.09.2004 22:13:21
Bernhard
Man ist das schnellÖ
Start Time End Time Start Line End Line Methode Zeit
81 82 83 84 85 86
21:33:11 21:36:33 00:03:22
21:36:33 21:36:33 38000 38001 Alt 00:00:00
21:37:06 21:37:06 38000 38001 Alt 00:00:00
21:46:30 21:47:16 37500 38001 Alt 00:00:46
21:48:13 21:51:31 37000 38001 Alt 00:03:18
21:53:41 21:55:18 37000 38001 Alt 00:01:37
21:55:47 21:55:49 36000 37001 Neu 00:00:02
21:57:08 21:57:19 30000 36001 Neu 00:00:11
21:58:51 21:59:10 20000 30001 Neu 00:00:19
22:06:13 22:06:33 20000 30001 Schnellform von YPS 00:00:20
22:08:21 22:08:41 20000 30001 00:00:20
22:09:01 22:09:20 20000 30001 Schnellform von YPS 00:00:19
22:10:31 22:11:16 20000 20501 Erstform von mir - laaaangsam 00:00:45
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige