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

Vereinfachung meines VBA-Codes

Vereinfachung meines VBA-Codes
17.10.2016 16:39:16
Cosmopolitan
Liebe Foren-Mitglieder,
hallo zunächst einmal!
Ich habe einen VBA-Code, der mir Daten aus einem Tabellenblatt spaltenweise in ein anderes überträgt (und neu anordnet). Leider verbraucht die Ausführung des Codes viel Rechenleistung und Zeit, über Wikibooks hab ich erfahren, dass es Vereinfachungen gibt, z.B. "Worksheets(intCounter) ist schneller als Worksheets("Tabelle1")" oder "For Each wksData In Worksheets:Next ist schneller als Worksheets(intCounter)" etc. (https://de.wikibooks.org/wiki/VBA_in_Excel/_Code-Optimierung)
Ich weiß aber nicht wie ich das in meinen Code einbauen kann ... könnte mir jemand einen Tipp geben?
Hier ist mein Code:
Sub Neues_Working_File_erstellen()
'Erstellt ein neues Working File.
If MsgBox("Neues Working File erstellen?", vbOKCancel, "Sicherheitsabfrage") = vbOK Then
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'Team kopieren:
Sheets("OUTPUT").Columns("AB:AB").Copy
Sheets("WorkingFile").Columns("A:A").PasteSpecial Paste:=xlValues
'Region kopieren:
Sheets("OUTPUT").Columns("T:T").Copy
Sheets("WorkingFile").Columns("B:B").PasteSpecial Paste:=xlValues
'EM LCB kopieren:
Sheets("OUTPUT").Columns("Z:Z").Copy
Sheets("WorkingFile").Columns("C:C").PasteSpecial Paste:=xlValues
'Country of Installation kopieren:
Sheets("OUTPUT").Columns("F:F").Copy
Sheets("WorkingFile").Columns("D:D").PasteSpecial Paste:=xlValues
'EM LCB (CoI) kopieren:
Sheets("OUTPUT").Columns("AA:AA").Copy
Sheets("WorkingFile").Columns("E:E").PasteSpecial Paste:=xlValues
'Opportunity Name kopieren:
Sheets("OUTPUT").Columns("C:C").Copy
Sheets("WorkingFile").Columns("F:F").PasteSpecial Paste:=xlValues
'Industry kopieren:
Sheets("OUTPUT").Columns("AH:AH").Copy
Sheets("WorkingFile").Columns("G:G").PasteSpecial Paste:=xlValues
'PMS kopieren:
Sheets("OUTPUT").Columns("AL:AL").Copy
Sheets("WorkingFile").Columns("H:H").PasteSpecial Paste:=xlValues
'SDA kopieren:
Sheets("OUTPUT").Columns("AJ:AJ").Copy
Sheets("WorkingFile").Columns("I:I").PasteSpecial Paste:=xlValues
'MG/RI kopieren:
Sheets("OUTPUT").Columns("AK:AK").Copy
Sheets("WorkingFile").Columns("J:J").PasteSpecial Paste:=xlValues
'SITIPE Module kopieren:
Sheets("OUTPUT").Columns("BI:BI").Copy
Sheets("WorkingFile").Columns("K:K").PasteSpecial Paste:=xlValues
'Remote Engineering kopieren:
Sheets("OUTPUT").Columns("BJ:BJ").Copy
Sheets("WorkingFile").Columns("L:L").PasteSpecial Paste:=xlValues
'GCBM kopieren:
Sheets("OUTPUT").Columns("AM:AM").Copy
Sheets("WorkingFile").Columns("M:M").PasteSpecial Paste:=xlValues
'GCBM Lead kopieren:
Sheets("OUTPUT").Columns("AO:AO").Copy
Sheets("WorkingFile").Columns("N:N").PasteSpecial Paste:=xlValues
'GCBM Capture Team kopieren:
Sheets("OUTPUT").Columns("AN:AN").Copy
Sheets("WorkingFile").Columns("O:O").PasteSpecial Paste:=xlValues
'Order Intake Booked kopieren:
Sheets("OUTPUT").Columns("AP:AP").Copy
Sheets("WorkingFile").Columns("P:P").PasteSpecial Paste:=xlValues
'IVP LCB 1 kopieren:
Sheets("OUTPUT").Columns("AQ:AQ").Copy
Sheets("WorkingFile").Columns("Q:Q").PasteSpecial Paste:=xlValues
'IVP % 1 kopieren:
Sheets("OUTPUT").Columns("AR:AR").Copy
Sheets("WorkingFile").Columns("R:R").PasteSpecial Paste:=xlValues
'IVP LCB 2 kopieren:
Sheets("OUTPUT").Columns("AS:AS").Copy
Sheets("WorkingFile").Columns("S:S").PasteSpecial Paste:=xlValues
'IVP % 2 kopieren:
Sheets("OUTPUT").Columns("AT:AT").Copy
Sheets("WorkingFile").Columns("T:T").PasteSpecial Paste:=xlValues
'IVP LCB 3 kopieren:
Sheets("OUTPUT").Columns("AU:AU").Copy
Sheets("WorkingFile").Columns("U:U").PasteSpecial Paste:=xlValues
'IVP % 3 kopieren:
Sheets("OUTPUT").Columns("AV:AV").Copy
Sheets("WorkingFile").Columns("V:V").PasteSpecial Paste:=xlValues
'IVP LCB 4 kopieren:
Sheets("OUTPUT").Columns("AW:AW").Copy
Sheets("WorkingFile").Columns("W:W").PasteSpecial Paste:=xlValues
'IVP % 4 kopieren:
Sheets("OUTPUT").Columns("AX:AX").Copy
Sheets("WorkingFile").Columns("X:X").PasteSpecial Paste:=xlValues
'IVP LCB 5 kopieren:
Sheets("OUTPUT").Columns("AY:AY").Copy
Sheets("WorkingFile").Columns("Y:Y").PasteSpecial Paste:=xlValues
'IVP % 5 kopieren:
Sheets("OUTPUT").Columns("AZ:AZ").Copy
Sheets("WorkingFile").Columns("Z:Z").PasteSpecial Paste:=xlValues
'IVP LCB 6 kopieren:
Sheets("OUTPUT").Columns("BA:BA").Copy
Sheets("WorkingFile").Columns("AA:AA").PasteSpecial Paste:=xlValues
'IVP % 6 kopieren:
Sheets("OUTPUT").Columns("BB:BB").Copy
Sheets("WorkingFile").Columns("AB:AB").PasteSpecial Paste:=xlValues
'IVP LCB 7 kopieren:
Sheets("OUTPUT").Columns("BC:BC").Copy
Sheets("WorkingFile").Columns("AC:AC").PasteSpecial Paste:=xlValues
'IVP % 7 kopieren:
Sheets("OUTPUT").Columns("BD:BD").Copy
Sheets("WorkingFile").Columns("AD:AD").PasteSpecial Paste:=xlValues
'IVP LCB 8 kopieren:
Sheets("OUTPUT").Columns("BE:BE").Copy
Sheets("WorkingFile").Columns("AE:AE").PasteSpecial Paste:=xlValues
'IVP % 8 kopieren:
Sheets("OUTPUT").Columns("BF:BF").Copy
Sheets("WorkingFile").Columns("AF:AF").PasteSpecial Paste:=xlValues
'IVP LCB 9 kopieren:
Sheets("OUTPUT").Columns("BG:BG").Copy
Sheets("WorkingFile").Columns("AG:AG").PasteSpecial Paste:=xlValues
'IVP % 9 kopieren:
Sheets("OUTPUT").Columns("BH:BH").Copy
Sheets("WorkingFile").Columns("AH:AH").PasteSpecial Paste:=xlValues
'Customer kopieren:
Sheets("OUTPUT").Columns("D:D").Copy
Sheets("WorkingFile").Columns("AI:AI").PasteSpecial Paste:=xlValues
'End-Customer kopieren:
Sheets("OUTPUT").Columns("E:E").Copy
Sheets("WorkingFile").Columns("AJ:AJ").PasteSpecial Paste:=xlValues
'Sales Phase kopieren:
Sheets("OUTPUT").Columns("L:L").Copy
Sheets("WorkingFile").Columns("AK:AK").PasteSpecial Paste:=xlValues
'Sales Status kopieren:
Sheets("OUTPUT").Columns("M:M").Copy
Sheets("WorkingFile").Columns("AL:AL").PasteSpecial Paste:=xlValues
'Estimated OI Date (PM070) kopieren:
Sheets("OUTPUT").Columns("S:S").Copy
Sheets("WorkingFile").Columns("AM:AM").PasteSpecial Paste:=xlValues
'FY kopieren:
Sheets("OUTPUT").Columns("AC:AC").Copy
Sheets("WorkingFile").Columns("AN:AN").PasteSpecial Paste:=xlValues
'Estimated OI kopieren:
Sheets("OUTPUT").Columns("AF:AF").Copy
Sheets("WorkingFile").Columns("AO:AO").PasteSpecial Paste:=xlValues
'Weighted Est. OI kopieren:
Sheets("OUTPUT").Columns("AG:AG").Copy
Sheets("WorkingFile").Columns("AP:AP").PasteSpecial Paste:=xlValues
'Relevant for Forecast kopieren:
Sheets("OUTPUT").Columns("R:R").Copy
Sheets("WorkingFile").Columns("AQ:AQ").PasteSpecial Paste:=xlValues
'Comment (Sales) kopieren:
Sheets("OUTPUT").Columns("BL:BL").Copy
Sheets("WorkingFile").Columns("AR:AR").PasteSpecial Paste:=xlValues
'Comment (SITIPE) kopieren:
Sheets("OUTPUT").Columns("BM:BM").Copy
Sheets("WorkingFile").Columns("AS:AS").PasteSpecial Paste:=xlValues
'Unique ID kopieren:
Sheets("OUTPUT").Columns("A:A").Copy
Sheets("WorkingFile").Columns("AT:AT").PasteSpecial Paste:=xlValues
'Modified in Philos kopieren:
Sheets("OUTPUT").Columns("H:H").Copy
Sheets("WorkingFile").Columns("AU:AU").PasteSpecial Paste:=xlValues
'Opportunity Owner kopieren:
Sheets("OUTPUT").Columns("I:I").Copy
Sheets("WorkingFile").Columns("AV:AV").PasteSpecial Paste:=xlValues
'Business Segment Text kopieren:
Sheets("OUTPUT").Columns("U:U").Copy
Sheets("WorkingFile").Columns("AW:AW").PasteSpecial Paste:=xlValues
'Chance of Execution % kopieren:
Sheets("OUTPUT").Columns("N:N").Copy
Sheets("WorkingFile").Columns("AX:AX").PasteSpecial Paste:=xlValues
'Chance of Success % kopieren:
Sheets("OUTPUT").Columns("O:O").Copy
Sheets("WorkingFile").Columns("AY:AY").PasteSpecial Paste:=xlValues
'Change Log kopieren:
Sheets("OUTPUT").Columns("BP:BP").Copy
Sheets("WorkingFile").Columns("AZ:AZ").PasteSpecial Paste:=xlValues
'New Project kopieren:
Sheets("OUTPUT").Columns("BN:BN").Copy
Sheets("WorkingFile").Columns("BA:BA").PasteSpecial Paste:=xlValues
'Sheets("Working File").Copy
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Vielen Dank!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vereinfachung meines VBA-Codes
17.10.2016 17:04:03
Fennek
Hallo,
nur ein paar Denkanstöße:
- während der Ausführung die automatische Berechnung abschalten (hilft, wenn viele Formeln im Sheet)
- ein "With"-Klammer mit usedrange
- prüfenob ,das Umsortieren nicht mit dem Menü-Befehl "sortieren der Spalten" gelöst werden kann.
mfg
(Schätzung: bei 10.000 Datensätze sollte ein guter Code weniger als 5 Sekunden benötigen)
AW: Vereinfachung meines VBA-Codes
17.10.2016 19:02:19
ChrisL
Hi
Nebst den Tipps von Fennek...
Schau mal ob sich nicht noch weitere Bereiche zusammenfassen lassen:
Sheets("OUTPUT").Columns("AM:BH").Copy
Sheets("WorkingFile").Columns("M:AH").PasteSpecial Paste:=xlValues
cu
Chris
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige