Office: Beschleunigen von VBA Excel Schleife

Helfe beim Thema Beschleunigen von VBA Excel Schleife in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich überprüfe mit folgender Schleife eine Matrix von ca. 49000 Zellen. Dies nimmt entsprechend Zeit in Anspruch und ich bin auf der... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von pippsen, 21. September 2014.

  1. Beschleunigen von VBA Excel Schleife


    Hallo zusammen, ich überprüfe mit folgender Schleife eine Matrix von ca. 49000 Zellen. Dies nimmt entsprechend Zeit in Anspruch und ich bin auf der Suche ob es hier einen schnelleren Weg gibt.
    Code:
     
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    mal den Code richtig dargestellt und paar kleine Korrekturen, nicht Zeit.
    Code:
     
  3. Sorry, hatte nicht gesehen das der Code so schlecht angezeigt wurde.
     
  4. Beschleunigen von VBA Excel Schleife

    Hat keiner einen Ratschlag für mich, oder ist die Lösung schon das non plus Ultra?

    Viele Grüße
     
  5. Moin NoName,

    ich würde den gesamten auszuwertenden Bereich in ein Array packen und dann in der Tabelle die Änderungen vornehmen. Sollte schneller gehen.

    Kleiner Tipp: Kopiere deinen Code vor dem posten in einen (echten) Editor und von dort eine Kopie in das Board, dann klappt das auch.
     
  6. Hallo,

    versuche es einmal so: (ungetestet, da keine Testdatei dabei war)
    Code:
     
  7. Hallo Mc Santa,

    danke für deine Datei. Diese ist leider genauso schnell wie meine und benötigt ca. 15 Sekunden.

    Hallo GMG-CC,

    wie würde so ein Code mit Array ausschauen?

    P.S. Mein Name ist Andreas:-)

    Viele Grüße
     
  8. Beschleunigen von VBA Excel Schleife

    Mein Code ist auf diese Array-Variante umgeschrieben.

    Mich wundert deshalb ein wenig, dass du da die gleiche Laufzeit bekommst. Kannst du mal einen kleinen Teil deine Tabelle hochladen? Dann kann ich mir das mal ansehen und schauen, wo man Laufzeit einsparen kann.

    VG

    Edit: Im Vergleich 65000 Zeilen und 8 Spalten braucht dein Code 27 Sekunden und meiner 1,3 Sekunden. Ich vermute daher, dass du den Code vielleicht nur teilweise ersetzt hast, oder sonst etwas beim Übertragen schief gegangen ist. Mit einer Datei von dir sehen wir mehr *Smilie
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
  9. Hallo Andreas,

    kannst du eine kleine Musterdatei mit bis zu maximal 100 Zeilen und natürlich Dummy-Daten anfertigen? Dann sollte es kein Problem sein, den passenden Code zu erstellen.

    Der Nachbau eines Tabellenblattes ist einfach nur unproduktiv und die Zeit fehlt dann zum testen, zumal meist nicht alle relevanten Faktoren mit integriert werden können.

    ps: Mein Vorname steht übrigens im Fußbereich jedes Beitrages *wink.gif*
     
  10. Hallo Günther,

    stimmt dein Name steht ja wirklich in der Fußzeile. *Smilie

    Ich habe eine Datei mit angehangen. Hoffe diese ist im richtigen Format. Könntest du dann auch den Code etwas erläutern, da ich ja dies verstehen und anwenden möchte und nicht ständig hier im Forum den Leuten die Nerven rauben möchte.

    Viele Grüße

    Andreas
     
  11. Hallo,

    also ich habe den Code aus #6 kopiert und ausgeführt.
    Dein Code kommt auf eine Laufzeit von 1,80 Sekunden. Mein Code braucht hingegen 0,06 Sekunden.
    Bei großen Datenmengen sollte es ähnlich sein, kann ich aber gleich auch testen.

    Kommst du auf andere Ergebnisse?

    VG
     
  12. Hallo Andreas,

    da du mich angesprochen hast, eine globale Erklärung zu Code von Mc Santa, welcher prinzipiell genau so aufgebaut ist, wie ich es gemacht hätte:

    Der komplette Datenbereich wird von dem Tabellenblatt in einen speziellen Speicherbereich kopiert, indem ein (VBA-) Array mit den Daten gefüllt wird. Solch ein Array ist im Prinzip auch nur eine Tabelle mit Zeilen und Spalten, nur der Zugriff ist erheblich schneller als auf eine Tabelle. Was du ja auch an den Zeiten siehst, die Mc Santa gerade gepostet hat.

    Einzelne Zeilen sollte Mc Santa als Ersteller selbst kommentieren, außer er bittet mich darum ... *wink.gif*
     
  13. Beschleunigen von VBA Excel Schleife

    Hallo Günther,

    falls du da noch weitere Anmerkungen hast, dann nur zu *Smilie

    @Pippsen:
    Der Array lässt sich genauso ansprechen, wie die Zellen der Tabelle, dadurch ändert sich der Code nicht wirklich. Man muss nur darauf achten, ob man den Bereich ab Zelle A1 einliest, oder nicht, dadurch verschieben sich die Zeilen und Spalten.

    VG
     
  14. \@ Mc Santa:
    Und als Ergänzung ... GANZ wichtig: Ist das Array Nullbasiert oder beginnt die Zählung mit 1?

    @ Andreas: Frage ruhig, was du nicht verstanden hast. Du weißt vielleicht noch den Reim aus einer Kindersendung (Sesamstraße): "Wieso, weshalb, warum? Wer nicht fragt, bleibt dumm." Nur abschreiben und nicht begreifen (durch nachfragen) wird dich nämlich nie zu einem "mündigen" Excel-User machen.
     
  15. Wenn das Array über einen Zellbereich erstellt wird, fängt es in der Zählung bei 1 an.

    Beispiel:
    Code:
    ar(1,1) ist jetzt der Inhalt aus der Zelle C4 und ar(2,2) ist der Inhalt aus Zelle D5 usw..

    VG
     
Thema:

Beschleunigen von VBA Excel Schleife

Die Seite wird geladen...
  1. Beschleunigen von VBA Excel Schleife - Similar Threads - Beschleunigen VBA Excel

  2. Suchfunktion beschleunigen

    in Microsoft Word Hilfe
    Suchfunktion beschleunigen: Hallo, ich habe ein sehr großes Word-Dokument in dem ich sehr oft suche. Die Suche starte ich i.d.R. vom Anfang des Dokuments weil ich dann sehr häufig eine Fundstelle direkt im Inhaltsverzeichnis...
  3. Word beschleunigen bei großen Dokumenten

    in Microsoft Word Hilfe
    Word beschleunigen bei großen Dokumenten: Hallo, obwohl ich einen recht schnellen Rechner mit 16 GB RAM habe, kommt Word 2019 bei einem sehr großen Dokument (500 S.) an seine Grenzen. Beispielsweise erscheinen die Buchstaben beim tippen...
  4. Beschleunigung von Arrayformeln

    in Microsoft Excel Hilfe
    Beschleunigung von Arrayformeln: Hallo Community, ich habe eine Datei in Excel 2016 (dienstlich) erstellt, in der die Berechnungen vermutlich durch Nutzung von Arrayformeln sehr langsam durchgeführt werden. Privat nutze ich...
  5. Beschleunigen des ROI mit Business Intelligence

    in Microsoft Excel Tutorials
    Beschleunigen des ROI mit Business Intelligence: Beschleunigen des ROI mit Business Intelligence Excel 2019 Excel 2016 Mehr... Weniger Die Analyse von...
  6. Ladezeiten Webbrowsersteuerelement beschleunigen.

    in Microsoft Access Hilfe
    Ladezeiten Webbrowsersteuerelement beschleunigen.: Hallo , Und danke für die Aufnahme in dieses Forum. Nun zu meiner Frage. In einem Formular verwende ich ein Webbrowsersteuerelement um ein Pdf Dokument anzuzeigen. Der Pfad zu der Datei wird aus...
  7. Beschleunigung einer Abfrage

    in Microsoft Access Hilfe
    Beschleunigung einer Abfrage: Hallo, ich habe eine Abfrage mit 10 Feldern - darunter 2, in denen mehrere Tabellenfelder zusammengefasst werden - und 3 Feldern mit je einer Bedingung. Zwei der Bedingungen sind einfach, z. B....
  8. Ativitätensuche in Kontakt beschleunigen

    in Microsoft Outlook Hilfe
    Ativitätensuche in Kontakt beschleunigen: Ich verwende Outlook 2010 auf einem älteren Notebook. Habe ca. 6.000 Kontakte drinnen. Ich öffne einen Kontakt. Klicke im Ribbon auf "Aktivitäten" Wähle bei Anzeigen "E-Mail" Im Fenster wird...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden