Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.10.2025 09:06:52
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Code beschleunigen

Forumthread: Code beschleunigen

Code beschleunigen
21.07.2020 15:09:07
Henry
Hallo Zusammen,
ich habe ein Probelm mit den beiden Codes, welche ich benötige um in einem Messprotokoll bestimmte Felder kopieren und einfügen zu können und um gleichzeit das Protokoll entsprechend anpassen zu können
Der Code Toleranzfeld_einfügen funktioniert bisher einwandfrei, bis zu der markierten Stelle. Ab dieser wird er deutlich langsamer.
Code Toleranzfeld_entfernen ist vollständig langsam.
Habt ihr Vorschläge, um die Codes zu vereinfachen bzw. zu beschleunigen?
Danke für eure Hilfe
Sub Toleranzfeld_einfügen()
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
v = Range("AE2")   'Werte aus Tabelle, damit sie bei erneuten Öffnen wieder verfügbar sind
c = Range("AD2")
v = v + 1
If v 
Sub Toleranzfeld_entfernen()
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
v = Range("AE2")      'Werte aus Tabelle, damit sie bei erneuten Öffnen wieder verfügbar sind
c = Range("AD2")
If v 

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code beschleunigen
21.07.2020 16:17:03
Daniel
Hi
1. verzichte auf Select und Selection. Hänge die Befehle immer direkt an das jeweilige Objekt.
beim Einfügen muss man dafür anstelle von .Paste das .PasteSpecial verwenden
2. nimm mal bei deinen Einstellungen zur Geschwindigkeitserhöhung am Anfang der Codes folgendes hinzu:
- Application.PrintCommunication = False
- Activesheet.DisplayPagebreaks = False
3. versuche, wenn du mehrere Zeilen einfügen willst, diese nicht einzeln einzufügen, sondern möglichst als Block
vergleiche:
Rows(x).Insert
Rows(x).Insert

mit
Rows(x).Resize(2).Insert

beides fügt 2 Zeilen ein, ersters braucht aber doppelt so lang.
Gruß Daniel
Anzeige
AW: Code beschleunigen
22.07.2020 08:35:40
Henry
Danke für deine Hilfe.
Ich habe versucht den Code für das Eeinfügen der Zeilen anzupassen.
Es bringr mir jedoch jetzt Laufzeitfehler 13: Typen unverträglich
Bei google habe ich nichts finden können
Rows(Union(Range(Cells(75 + b, 2), Cells(75 + b, 9)), Range(Cells(73 + b, 10), Cells(73 + b, 23)), Range(Cells(67 + b, 24), Cells(67 + b, 27)))).Resize(7).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Anzeige
AW: Code beschleunigen
22.07.2020 10:35:25
Daniel
Rows ist da auch nicht richtig.
war nur ein gnerelles Beispiel dafür, dass Zellbearbeitung im Block schneller ist, als jede Zelle einzeln zu bearbeiten und nicht speziell für dein Beispiel ausgelegt.
AW: Code beschleunigen
22.07.2020 10:42:00
Daniel
Du musst hier die Erweiterung in die Einzelnen Blöcke einbauen:
Range(Cells(75 + b, 2), Cells(75 + b + 7, 9))
und das natürlich für alle 3 Zellbereiche innerhalb des Union
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige