![]() |
Betrifft: Mein erstes Makro (copy+paste Schleife)
von: Marius
Geschrieben am: 05.09.2014 11:48:27
Hallo zusammen,
ich habe jetzt erstmals per Aufzeichnung ein Makro erstellt.
Dieses funktionert soweit ich es ihm gezeigt habe auch.
Allerdings wären ein paar Dinge noch schön, welche ich nicht mit der Aufzeichnung bewerkstelligen kann. Und zwar würde ich gerne eine Schleife einbauen, allerdings komm ich hier mit Hilfe von Youtube nicht weiter.
Und zwar möchte ich folgendes machen:
In "Tabelle4" soll es immer den nächsten Wert kopieren. Sowohl für A, als auch für B.
Und zwar solange bist A irgendwann leer ist.
Und in "Tabelle2" sollen die Werte logischerweise nicht immer überschrieben werden, sondern fortlaufend untereinander weg.
Kann mir dabei jm helfen?
Vielen Dank
Marius
--------------------------------
Sub MakroCopy() ' ' MakroCopy Makro ' ' Sheets("Tabelle4").Select Range("A2").Select Selection.Copy Sheets("Tabelle5").Select Range("B4").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Tabelle4").Select Range("B2").Select Application.CutCopyMode = False Selection.Copy Sheets("Tabelle5").Select Range("B5").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("E6:L6").Select Application.CutCopyMode = False Selection.Copy Sheets("Tabelle2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
![]() ![]() |
Betrifft: AW: Mein erstes Makro (copy+paste Schleife)
von: Adis
Geschrieben am: 05.09.2014 12:48:08
Hallo
anbei eine verkürzte Version das Makrorecorder und ein Beispiel für For Next Schleifen
Die unteren Angaben können bei Text kopieren entfallen, Excel setzt sie auf Standard
'Operation:=xlNone, SkipBlanks:=False, Transpose:=False
wenn ich das kopieren richtig verstanden habe werden die Spalten A+B in Tabelle5
in Spalte B untereinander kopiert. So jedenfalls ist die For Next Schleife aufgebaut.
Bei Range("xxxx 1000") muss die Spalte eingefügt werden in die kopiert werden soll.
Die Anweisung End(xlUp) sucht ab Zeile 200/1000 die letzte Zelle noch oben zum anfügen.
Bitte ausprobieren, würde mich freuen wenn es klappt.
Sub MakroCopy_Neu() Sheets("Tabelle4").Range("A2").Copy Sheets("Tabelle5").Range("B4").PasteSpecial Paste:=xlPasteValues Sheets("Tabelle4").Range("B2").Copy Sheets("Tabelle5").Range("B5").PasteSpecial Paste:=xlPasteValues Sheets("Tabelle5").Range("E6:L6").Copy Sheets("Tabelle2").Selection.PasteSpecial Paste:=xlPasteValues End Sub
Sub MakroCopy_Schleife() Dim Tab4 As Object, Tab5 As Object 'Tabellen als Objekt Dim Tab2 As Object, Zell As Variant Dim EdrA As String, EdrN As String, n Set Tab2 = Sheets("Tabelle2") Set Tab4 = Sheets("Tabelle4") Set Tab5 = Sheets("Tabelle5") EdrA = Range("A200").End(xlUp).Address 'Schleişfe für jede Zelle For Each Zell In Range("A2", EdrA) Tab4.Zell.Copy Tab5.Range("B4").Offset(n, 0).PasteSpecial Paste:=xlPasteValues Tab4.Zell.Offset(0, 1).Copy Tab5.Range("B5").Offset(n, 0).PasteSpecial Paste:=xlPasteValues n = n + 2 Next Zell EdrN = Range("xxxx 1000").End(xlUp).Offset(1, 0).Address Tab5.Range("E6:L6").Copy Tab2.Range(EdrN).PasteSpecial Paste:=xlPasteValues End SubGruss Adis
![]() |