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

Lange Makrolaufzeit

Lange Makrolaufzeit
21.11.2020 13:13:45
reiner
hallo Leute,
eine Datei "mappe1" bestehend aus 1 Tabellenblatt und 1 Modul benötigt für die Bearbeitung eines darin enthaltenen Makros ca. 1 Sekunde.
Nach Einfügen des Tabellenblatts und des Moduls aus "mappe1" in eine andere Datei "mappe2" dauert die Bearbeitung des vorgenannten Makros fast 7 Sekunden.
Datei "mappe2" enthält nach dem Einfügen nun insgesamt 14 Tabellenblätter, 2 UF und 11 Module.
Vermutlich hängt die längere Bearbeitungszeit mit dem umfangreicheren Datenbestand zusammen, selbst wenn die Makrobearbeitung überhaupt nicht auf andere Module zugreift.
Wenn es so ist, gibt es eine mir nicht bekannte Möglichkeit die Makrobearbeitung deutlich zu beschleunigen, indem der genannte Datenbestand temporär ignoriert wird?
mfg
reiner

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

Betreff
Datum
Anwender
Anzeige
AW: in meiner Glaskugel ist nur Nebel...
21.11.2020 13:19:15
JoWE
Das liegt am Code (Zeile 42!) (omg&owT)
21.11.2020 13:25:37
EtoPHG

hier zur Kenntnisnahme "mappe1"
21.11.2020 15:04:09
reiner
https://www.herber.de/bbs/user/141740.xlsb
Ich habe nun die datei "mappe1" hochgeladen befürchte aber dass der Code nicht weiterhilft bei der Beantwortung meiner Frage.
Wegen der Dateigröße (2,0 MB) von "mappe2" kann diese Datei aufgrund Beschränkung auf 300 KB nicht hochgeladen werden.
Würde ich "mappe2" auf max 300 KB abspecken glaube ich nicht dass dadurch eine Beantwortung möglich wird.
AW: hier zur Kenntnisnahme "mappe1"
21.11.2020 17:33:11
Mullit
Hallo,
wenn ich mir Deinen Code so angucke, wird das Problem klar, hier mal lesen:
https://www.online-excel.de/excel/singsel_vba.php?f=78
https://www.online-excel.de/excel/singsel_vba.php?f=61
Sub Makro1()
' Makro1 Makro
Columns("AQ:BG").Select
ActiveSheet.Unprotect
Selection.Delete Shift:=xlToLeft
ActiveWorkbook.RunAutoMacros Which:=xlAutoClose
range("AX89").Select
ActiveWindow.SmallScroll ToRight:=-34
ActiveWindow.Zoom = 90
ActiveWindow.Zoom = 80
ActiveWindow.Zoom = 70
Workbooks.Add
ActiveWindow.Close
Sheets.Add After:=Sheets(Sheets.Count)
Sheets("3-Monatskalender").Select
Columns("A:Z").Select
Selection.Copy
Sheets("Tabelle1").Select
ActiveSheet.Spinners.Add(180, 3, 0, 12).Select
ActiveSheet.Buttons.Add(72, 6, 87, 9).Select
ActiveSheet.Buttons.Add(972.75, 6, 167.25, 9).Select
ActiveSheet.Buttons.Add(818.25, 6.75, 140.25, 8.25).Select
ActiveSheet.Paste
Sheets("3-Monatskalender").Select
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.Delete
ActiveWorkbook.RunAutoMacros Which:=xlAutoClose
ActiveSheet.Shapes("Spinner 1").Select
Rows("4:4").Select
Sub Kalender_Vor_Aktuell_Nach()
Application.ScreenUpdating = False
range("U1").Value = Time
Letztezeile = ActiveSheet.Cells(150, 16).End(xlUp).Row
range("A3:P" & Letztezeile + 1).Select
ActiveSheet.Unprotect
Selection.ClearContents
Selection.ClearFormats
Selection.RowHeight = 15
Selection.NumberFormat = "General"
range("B3").Select
ActiveCell.FormulaR1C1 = "'Montag"
range("C3").Select
ActiveCell.FormulaR1C1 = "'Dienstag"
range("D3").Select
ActiveCell.FormulaR1C1 = "'Mittwoch"
range("E3").Select
ActiveCell.FormulaR1C1 = "'Donnerstag"
range("F3").Select
ActiveCell.FormulaR1C1 = "'Freitag"
range("G3").Select
ActiveCell.FormulaR1C1 = "'Sonnabend"
range("H3").Select
ActiveCell.FormulaR1C1 = "'Sonntag"
range("I3").Select
ActiveCell.FormulaR1C1 = "'KW"
range("B3:I3").Select
With Selection.Font

Gruß, Mullit
Anzeige
AW: hier zur Kenntnisnahme "mappe1"
21.11.2020 18:25:27
reiner
hallo Mullit,
ich weiß dass ihr EXCEL-Cracks die Verwendung von "Select" zum größten Teilk für überflüssig haltet; das mag auch so sein.
Ich spiele wahrscheinlich aus Excel-VBA-Sicht in einer anderen Liga als du und bin froh und ein wenig stiolz wenn ich mit bescheidenen VBA-Kenntnissen ein Projekt erfolgreich fertigstelle auch wenn es aus Sicht eines Profis dilettantisch wirkt.
In der ursprünglichen Frage ging es darum, aus welchem Grund das vorliegende Makro in ca. 1 Sekunde abläuft, während das gleiche Makro in einer anderen umfangreichen Datei eingefügt mindestens 6 mal so lange benötigt. Das hat nun wohl kaum mit der Verwendung von "Select" zu tun.
Es wäre auch hilfreich gewesen wenn du nicht nur auf externe Dokumente verweist sondern einige wenige funktionierende Beispiele meines Codes entsprechend geändert hättest.
Übrigens für die Funktion des Kalenders ist ausschließlich das Makro: Sub Kalender_Vor_Aktuell_Nach()" erforderlich
Mit einer Makrolaufzeit von 1 Sekunde kann ich gut leben; selbst wenn ich auf einige "Select" verzichte wird das vermutlich nur minimale Geschwindigkeitsverbesserungen mit sich bringen.
reiner
Anzeige
AW: was soll das...
21.11.2020 19:37:03
JoWE
was soll das? Hilf mir aber sag nicht dass ich etwas besser machen kann?
...Du könntest, statt hier Deinen Antworter zu beschimpfen, doch zunächst mal die Hinweise umsetzen.
Wenn Die Tipps nicht helfen, kannst Du mit dem Hochladen Deiner in der Größe sicher anzupassenden Arbeitsmappen erneut nach Antworten fragen...
Gruß
Jochen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige