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

Makro vereinfachen

Makro vereinfachen
15.05.2016 10:41:55
Torsten
Hallo Experten,
Habe ein Makro mit dem Recorder erstellt.
Kann man es noch vereinfachen?
Ich müsste es immer wieder erweitern.
Makro1 Makro
'
'
Windows("Torsten.xls").Activate
Range("A9:L30").Select
Selection.Copy
Windows("Test1.xlsx").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("Torsten.xls").Activate
Sheets("S-26-X Okt.").Select
Range("A9:L30").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Test1.xlsx").Activate
Range("A30").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=24
Windows("Torsten.xls").Activate
Sheets("S-26-X Nov.").Select
Range("A9:L30").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Test1.xlsx").Activate
ActiveWindow.SmallScroll Down:=3
Range("A60").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
Danke.
Gruß Torsten

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

Betreff
Datum
Anwender
Anzeige
AW: Makro vereinfachen
15.05.2016 10:50:42
Hajo_Zi
Hallo Torsten,
Du hast einige Dinge nicht angegeben, das habe ich jetzt angenommen.
Option Explicit
Sub n()
Workbooks("Torsten.xls").Worksheets("Tabelle1").Range("A9:L30").Copy
Workbooks("Test1.xlsx").Worksheets("Tabelle1!").Range("a1").PasteSpecial Paste:= _
xlPasteValues
Workbooks("Torsten.xls").Sheets("S-26-X Okt.").Range("A9:L30").Copy
Workbooks("Test1.xlsx").Worksheets("Tabelle1").Range("A30").PasteSpecial Paste:= _
xlPasteValues
Workbooks("Torsten.xls").Sheets("S-26-X Nov.").Range("A9:L30").Copy
Workbooks("Test1.xlsx").Worksheets("Tabelle1").Range("A60").PasteSpecial Paste:= _
xlPasteValues
End Sub

Anzeige
AW: Makro vereinfachen
15.05.2016 11:26:43
Torsten
Hallo Hajo_Zi,
danke...
Klasse.
Wünsche dir noch einen schönen Tag.
Gruß Torsten

ungetestet
15.05.2016 12:33:53
lupo1
Option Explicit
Sub n()
For i = 1 to 3
Workbooks("Test1.xlsx").Sheets("Tab1").Range("A" &  i * 30 + 1 & "A" & i * 30 + 22) = _
Workbooks("Torsten.xls").Sheets(i).Range("A9:L30").Value
Next
End Sub

AW: Makro vereinfachen
15.05.2016 12:57:16
Daniel
Hi
zum Thema: Makro mit dem Recorder aufzeichnen bitte auch mal das hier lesen:
http://www.online-excel.de/excel/singsel_vba.php?f=78
generell gilt:
in VBA kann man eine Zelle auch direkt ansprechen und verarbeiten, auch wenn sie nicht aktiv ist.
hierzu schreibt man dann Workbook, Worksheet vor die Range.
das selektieren kann dann entfallen:
Windows("Torsten.xls").Activate
Sheets("S-26-X Okt.").Select
Range("A9:L30").Select
Application.CutCopyMode = False
Selection.Copy

wird verkürzt zu
Workbooks("Torsten.xls").Sheets("S-26-X Okt.").Range("A9:L30").Copy
das Application.CutCopyMode = False leert den excelspezifischen Zwischenspeicher und ist meistens nicht notwendig, beim kopieren eines neuen Bereichs wird dieser sowieso überschrieben.
wenn überhaupt führt man das Application.CutCopyMode = False nach dem letzen Einfügen aus.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige