Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1332to1336
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
Inhaltsverzeichnis

Excel bricht unter Datenmenge zusammen

Excel bricht unter Datenmenge zusammen
01.10.2013 12:14:59
PaKierdorf
Hallo liebe Community,
ich habe das Problem, dass ich im Moment an einem großen Makro bastle, und die Datenmengen Excel nach der Hälfte der Ausführung zum zusammenbrechen bringen.
Ich habe jetzt zwei Ansätze, die ich verfolge:
1. kann man bei einer VBA-Anwendung Rechnleistung einsparen, z.B. durch Einfrieren des Monitors oder so ähnlich? Ich kann mir vorstellen, dass alleine die grafische Darstellung der Ausführung Speicher saugt.
2. versuche ich alle Schritte so allgemein wie möglich zu halten, heißt ich kann nicht mit absoluten Zellbezügen arbeiten, sondern immmer nur Spaltenweise. Ich habe angesetzt, dass theoretisch bis zu 1000 Zeilen möglich sind. Wenn jetzt aber z.B. nur 20 davon belegt sind, erscheint es mir unsinnig trotzdem die gesamte Spalte anzusprechen. Gibt es hier die Möglichkeit nur Zellen mit Inhalt anzusprechen, das aber dynamisch, sodasss sowhl 20 aber auch zu Not 500 Zeilen mitgenommen werden?
Vielen Dank schonmal im Voraus
Liebe Grüße
Pascal

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel bricht unter Datenmenge zusammen
01.10.2013 12:27:15
Marc
Hallo!
Dafür, dass da VBA "Gut" steht, scheinen mir aber ein paar Kniffe noch zu fehlen...
Zu 1.
Appliation.screenupdate = false friert den Monitor ein, beschleunigt dein makro
Appliation.calculation = xlmanual verhindert eine neuberechnung deiner Formeln, ist nur mit Vorsicht zu verwenden und auf jeden Fall wieder auf aktiv zu setzen! (=xlautomatic)
Zu 2.
Verwende
Set rng = Range("E:G").SpecialCells(xlCellTypeConstants).EntireRow
MsgBox rng.Address(0, 0)
Damit begrenzt du den Bereich rng auf Zeilen, in denen mindestens eine Zelle im Bereich "E:G" eine Konstante enthält.
Viel Erfolg!
Gruß, MCO

Anzeige
Appliation.screenupdate = false
01.10.2013 12:47:37
Rudi
Hallo,
wenn schon Tipps dann bitte richtig.
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Gruß
Rudi

Danke Rudi. owt
01.10.2013 13:14:01
Marc

AW: Excel bricht unter Datenmenge zusammen
01.10.2013 12:47:45
PaKIerdorf
Hallo Marc,
fehlen mögen sie bestimmt, das liegt aber mehr an der fehlenden Regelmäßigkeit solcher speziellen Anfragen als an dem fehlenden Verstädnis oder Kenntnis darüber.
Dennoch vielen Dank für deine Antwort
Liebe Grüße
Pas

AW: Excel bricht unter Datenmenge zusammen
01.10.2013 12:50:20
Rudi
Hallo,
1000 Zeilen sind doch nix.
Zeig mal deinen Code bzw. lad die Mappe hoch.
Gruß
Rudi

AW: Excel bricht unter Datenmenge zusammen
02.10.2013 01:50:08
Franc
Das würde mich auch interessieren. ;-)
Eventuell wertest du es falsch aus?
Es ist ein Unterschied wie Tag und Nacht ob du Daten direkt auf dem Blatt auswertest/vergleichst/was auch immer oder ob du die Daten erstmal in ein Array lädst und das dort erledigst.
Beispiel
Vergleiche ich 1.000 Zellen untereinander direkt auf dem Blatt z.B. mit "If Cells(i, 1) = Cells(j, 1) Then" ergibt das nach Adam Ries 1.000.000 Kombinationen was 5 sek dauert.
Lade ich das ganze in ein Array aber diesmal mit 7.000 Zeilen ( varA = Range("A1:A7000") ) und vergleiche das Array miteinander (If varA(i, 1) = varA(j, 1) Then) was 49.000.000 Kombinationen ergibt dauert das auch nur 5 sek obwohl es 49 mal mehr Kombinationen sind.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige