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

Laufzeit Makro verkürzen

Laufzeit Makro verkürzen
02.07.2020 14:31:18
börny
Hallo Leute,
mit der Hilfe diverser User aus dem Forum, speziell aber die von Werner, habe ich folgendes Makro zusammengebastelt:
Public Sub Datenimport_X()
Dim strPfad As Variant, Quelle As Workbook
Dim ws As Worksheet
Application.ScreenUpdating = False
ChDir ("N:\02_Funktionen\10_Reporting\04_Internes Benchmarking")
strPfad = Application.GetOpenFilename
If strPfad  False Then
Set Quelle = Workbooks.Open(strPfad)
Else
MsgBox "Nichts ausgewählt!"
Exit Sub
End If
Worksheets("5.1 GuV_Übersicht").Cells.Copy
ThisWorkbook.Worksheets("Perlon_Group_GuV").Range("A1").PasteSpecial Paste:= _
xlPasteValuesAndNumberFormats
Application.DisplayAlerts = False
Worksheets("7. Bilanz").Cells.Copy
ThisWorkbook.Worksheets("Perlon_Group_BS").Range("A1").PasteSpecial Paste:= _
xlPasteValuesAndNumberFormats
Application.DisplayAlerts = False
Quelle.Close False
MsgBox "Daten wurden kopiert"
ThisWorkbook.Worksheets("Cockpit").Activate
End Sub
Wenn ich das Makro nur für den ersten Teil (kopieren der GuV) laufen lasse, läuft das Makro innerhalb von 10sec durch. Wenn ich aber dann die zweite Schleife mit der Bilanz mitlaufen lasse, verlängert sich die Laufzeit auf über eine Minute. Ich vermute das dies an dem komplizierten Aufbau liegt, weshalb es super wäre, wenn ihr mir einen Tipp geben könntet, wie sich die Laufzeit verküzren lässt.
Vielen Dank,
Börny

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeit Makro verkürzen
02.07.2020 14:52:47
Daniel
HI
der Code sieht OK aus.
ggf solltest du nicht das ganze Blatt kopieren, sondern nur den genutzen Teil:
Worksheets(…).UsedRange.copy
sollte es vorkommen können, dass im Zielbereich schon daten vorhanden sind und dieser Bereich größer ist als der Quellbereich, müsste man dort die Daten vorher mit Cells.ClearContents löschen.
ansonsten müsstest du mal prüfen, wie groß der zu kopierende Zellbereich ist und ob Excel nicht von einem zu großen Bereich ausgeht (dazu drückt man STRG+ENDE und schaut, ob die so markierte Zelle auch die letzte Zelle mit Inhalt ist oder ob diese viel weiter unten oder rechts der Daten steht.
(meist erkennt man das auch daran, dass beim Scrollen zum Datenende der Scrollbalken nicht am Ende ist.)
Gruß Daniel
Anzeige
AW: Laufzeit Makro verkürzen
02.07.2020 14:58:17
peterk
Hallo
Eine andere Möglichkeit: Gleich das ganze Blatt kopieren.

Public Sub Datenimport_X()
Dim strPfad As Variant
Dim Quelle As Workbook
Dim ws As Worksheet
Application.ScreenUpdating = False
strPfad = Application.GetOpenFilename
If strPfad  False Then
Set Quelle = Workbooks.Open(strPfad)
Else
MsgBox "Nichts ausgewählt!"
Exit Sub
End If
For Each ws In ThisWorkbook.Worksheets
If ws.Name = "Perlon_Group_GuV" Then ws.Delete
If ws.Name = "Perlon_Group_BS" Then ws.Delete
Next ws
Worksheets("7. Bilanz").Copy Before:=ThisWorkbook.Sheets(1)
ThisWorkbook.Sheets(1).Name = "Perlon_Group_BS"
Worksheets("5.1 GuV_Übersicht").Copy Before:=ThisWorkbook.Sheets(1)
ThisWorkbook.Sheets(1).Name = "Perlon_Group_GuV"
Quelle.Close False
MsgBox "Daten wurden kopiert"
ThisWorkbook.Worksheets("Cockpit").Activate
Application.ScreenUpdating = True
End Sub

Anzeige
das ist jetzt der vierte Beitrag...
02.07.2020 15:06:12
Werner
Hallo,
...zum gleichen Thema, wobei dauernd die Vorgaben geändert werden.
Schau dir bitte mal an, wieviele Helfer sich (unnötigerweise) mittlerweile damit beschäftigt haben, weil du ständig deine Vorgaben änderst.
Gruß Werner
AW: das ist jetzt der vierte Beitrag...
02.07.2020 16:47:17
börny
Hallo,
verstehe deine ganze Aufregung nicht ganz.
So ein Makro entwickelt sich halt über die Zeit. Neue Ideen fließen ein und zusätzliche Schritte werden nötig.
Deine zurechtweisende Art, von wegen unnötigerweise wird geholfen und ständig ändern sich die Vorgaben, kannst du dir sparen. Schau dir doch all die anderen Millionen Beiträge an, da läuft das genau so.
Aber du bist der Beste Werner, für immer.
Anzeige
statt sich Gedanken über...
07.07.2020 12:59:54
Werner
Hallo,
...meinen Gemütszustand zu machen wäre es wohl besser gewesen, auf die Lösungsangebote zu reagieren.
Gruß Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige