Aufzeichnungsmakro optimieren
07.02.2019 12:33:47
erichm
ich habe ein Makro aufgezeichnet das funktioniert. Eine Optimierung ist mir leider nicht gelungen. Das Makro kopiert aus 9 verschiedenen Tabellen Inhalte in eine "Zieltabelle" LLDirneu, jeweils in unterschiedliche Zeilen ab Spalte FK. Dabei müssen die "Werte" eingetragen werden, also nicht die in den Kopiertabellen vorhandenen Formeln.
Bereiche die kopiert werden aus den 9 Tabellen:
immer ab Zeile 2, Spalte AY
derzeit bis incl. Spalte DI (diese Spalte verändert sich um eine Spalte nach rechts in unregelmäßigen Abständen)
Zeilenanzahl ist zum Teil unterschiedlich
Besonderheit: Das Makro habe ich in einer separaten ".xlsm-Datei" abgespeichert; die betroffenen Tabellen befinden sich in der Datei: 3012autneu4.xlsx
aktuelles Makro:
Sub Kopie9()
Windows("3012autneu4.xlsx").Activate
Sheets("FK9201").Select
Range("AY2:DI2485").Select
Selection.Copy
Sheets("LLDirneu").Select
Application.Goto Reference:="R9201C167"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Erg12202").Select
Range("AY2:DI590").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LLDirneu").Select
Application.Goto Reference:="R12202C167"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("FK13201").Select
Range("AY2:DI106").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LLDirneu").Select
Application.Goto Reference:="R13201C167"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("FK13701").Select
Range("AY2:DI106").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LLDirneu").Select
Application.Goto Reference:="R13701C167"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("FK14301").Select
Range("AY2:DI2485").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LLDirneu").Select
Application.Goto Reference:="R14301C167"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("FK17001").Select
Range("AY2:DI2485").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LLDirneu").Select
Application.Goto Reference:="R17001C167"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("FK19501").Select
Range("AY2:DI2485").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LLDirneu").Select
Application.Goto Reference:="R19501C167"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("FK22001").Select
Range("AY2:DI2485").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LLDirneu").Select
Application.Goto Reference:="R22001C167"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("FK25002").Select
Range("AY2:DI440").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("LLDirneu").Select
Application.Goto Reference:="R25002C167"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("FK25001").Select
Windows("EL-Kopie-Makro.xlsm").Activate
End Sub
Meine Bitte wäre eine Vereinfachung zumindest in der Form, dass ich die Änderungen der Spalte DI nach rechts nur 1x eingeben/ändern muss. Die Kopiertabellen werden sukzessive mehr, so dass der Änderungsaufwand immer steigt.Vielen Dank für eine Hilfe.
mfg