Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1540to1544
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

Einfügen von Zeilen extrem langsam ;-(

Einfügen von Zeilen extrem langsam ;-(
11.02.2017 15:27:37
Zeilen
Hallo liebe VBA-Experten!
Ich brauche wieder einmal Eure Hilfe - ich habe einen Projektplan erstellt, in welchem Zeilen via Makro eingefügt werden - leider ist das Ganze extrem langsam ;-(
Unter Excel 2007 ist die Geschwindigkeit noch annehmbar - ab 2013 eine Katastrophe...
Ich wäre Euch daher sehr dankbar, wenn Ihr Euch das mal ansehen könntet - anbei eine auf das wesentliche beschränkte Beispieldatei:
https://www.herber.de/bbs/user/111380.xlsm
Was auch noch nett wäre, wenn man gleich mehrere Zeilen einfügen oder löschen könnte - je nach dem wie viele Zeilen man markiert hat... Aber wie stelle ich das an? Wäre auch hier über Eure Hilfe dankbar!
Glg,
Chrisi

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einfügen von Zeilen extrem langsam ;-(
11.02.2017 19:56:58
Zeilen
Hat wirklich niemand eine Idee? Oder zum umfangreich?
Wäre wirklich nett, wenn sich jemand die Mühe macht und mir folglich einen Tipp gibt - besten Dank im Voraus!
Lg
AW: Einfügen von Zeilen extrem langsam ;-(
11.02.2017 20:07:31
Zeilen
Hallo Chris,
die Makros sollten schneller werden, wenn neben der Abschaltung der Bildschirmaktualisierung auch der Berechnungsmodus temporär auf Manuell gesetzt wird.
Hauptproblem ist deine volatile benutzerdefinierte Funktion PROFEXIndentLevel, die bei jeder Neu-Berechnung des Blattes in allen Zellen neu berechnet wird. Aber auch alle anderen Formeln in Zellen können das Makro extrem ausbremsen.
Hier der Code mit Anpassungen als Textdatei.
https://www.herber.de/bbs/user/111385.txt
LG
Franz
Anzeige
AW: Einfügen von Zeilen extrem langsam ;-(
12.02.2017 08:47:27
Zeilen
Guten Morgen Franz,
vielen lieben Dank für deine Rückmeldung! Das mit dem Berechnungsmodus bringt definitiv etwas!
Hast Du zufällig noch eine Idee, wie ich das mit mehreren Zeilen auf einmal einfügen anstelle? D.h. ich markiere einen Bereich in welchen dann die Zeilen reinkopiert werden - soll aber nur da funktionieren, wo noch Leerzeilen vorhanden sind - wo kopierte Zeilen vorhanden sind, soll man nur einzelne Zeilen einfügen können (wie jetzt auch schon)...
Und das Löschen mehrerer Zeilen auf einmal (je nachdem wieviele markiert wurden) würde ich auch begrüßen.
Vielleicht kannst Du mir hierzu noch deine Hilfe anbieten... Natürlich ist der Rat von jedem anderen auch willkommen!
Lg,
Chrisi
Anzeige
AW: Einfügen von Zeilen extrem langsam ;-(
12.02.2017 14:36:32
Zeilen
Hallo Chrisi,
hier die Textdatei mit angepasster Variablendeklaration und den beiden Makros zum Einfügen bzw. Löschen von Zeilen.
https://www.herber.de/bbs/user/111400.txt
Vor dem Löschen mehrerer Zeilen erfolgt immer eine Sicherheitsabfrage.
LG
Franz
AW: Einfügen von Zeilen extrem langsam ;-(
12.02.2017 17:51:10
Zeilen
Hallo Franz,
Du bist echt der Beste - funktioniert genauso wie ich mir das vorgestellt habe!!!
Ich bin Dir mind. ein Bier schuldig - wenn Du aus Österreich bist, kann ich meine Schuld gerne mal tilgen ;-)
Vielen lieben Dank nochmal und schönen Abend noch!
Lg,
Chrisi
Anzeige
AW: Einfügen von Zeilen extrem langsam ;-(
12.02.2017 18:04:19
Zeilen
Hallo Franz,
leider habe ich doch noch ein Problem festgestellt - wenn die Zeilen von oben nach unten markiert werden passt alles - jedoch von unten nach oben wird nur eine Zeile eingefügt oder gelöscht - was macht das für einen Unterschied? Vielleicht kannst mich hierzu noch aufklären...
Lg,
Chrisi
AW: Einfügen von Zeilen extrem langsam ;-(
12.02.2017 21:06:57
Zeilen
Hallo Chrisi,
das liegt an der Art wie die 1. Zeile ermittelt wird.
Im Moment wird die ActiveCell genommen - diese ist dort, wo du mit dem makieren beginnst.
Für das Löschen/Einfügen bei mehren markierten Zeilen wird dann aber die letzte Zeile ermittel, indem die Anzahl Zeilen zur Startzeile adiert werden
Ändere in den beiden Makros
    intLigne = ActiveCell.Row

in
    intLigne = Selection.Row

dann sollte es passen,
LG
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige