Clever-Excel-Forum

Normale Version: Zeilen durchlaufen mit VBA
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo, 

ich habe eine Menge von Daten mit XML in Excel importiert, da die Formatierung nicht gebrauchbar ist, will ich das ganze mit Makro Kopieren.
Klappt auch an sich alles schön und gut, wenn man die Datensätze einzeln kopiert und einfügt. Wenn ich das ganze aber automatisieren will und mit einer Variablen die auszuwälende Zelle bestimmen will, klappt das Ganze nicht. Das Ziel ist: Zielen C23-C46 zu kopieren, in Zelle A:Var1 drehen und einfügen, dann Zeilen C23-46 löschen, damit von unten die Daten nachrücken können. Dann soll Var1 erhöht werden, also z.b. aus A1 wird A2. Aber das habe ich gestern nicht hingekriegt. Ich hoffe ihr könnt mir bei den, wahrscheinlich, recht trivialen Problem helfen.

Hier der Marko für die Aktion, die ausgeführt werden soll.

Sub Makro2()
'
' Makro2 Makro
'

'
    ActiveWindow.SmallScroll Down:=12
    Range("C23:C46").Select
    Selection.Copy
    ActiveWindow.SmallScroll Down:=-57
    Range("A2").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    ActiveWindow.SmallScroll Down:=15
    Range("B23:C46").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
    
End Sub

Wenn irgendetwas unklar ist, bitte fragen, ich hoffe man kann mir helfen :D 

LG efreddy
Bitte zeige eine Beispieldatei mit Wunschlösung...
"Ich weiß nicht ob ich unter einem akuten Fall Blindheit leide, aber ich finde grade zum verrecken nicht raus, wie man hier im nachhinein eine Datei hochlädt :(", wollte er grad schreiben, da sah er den Knopf. Hier die Datei (Original kann ich leider wegen Personendaten nicht hochladen)
Da ist keine Datei. Guckst du sonst hier:
https://www.clever-excel-forum.de/misc.php?action=help&hid=8

BTW: Am Original ist eh niemand interessiert, eine Beispieldatei enthält - du errätst es vielleicht schon - Beispieldaten :)
Hallöchen,

Dein Code ist ja aufgezeichnet und lässt sich etwas einkürzen. Das würde dann erst mal so aussehen:

Zitat:Sub Makro2()
Range("C23:C46").Copy
Range("A2").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("B23:C46").Delete Shift:=xlUp
End Sub


Wenn ich Dich richtig verstanden habe, dann müssen die nächsten Daten in Spalte A unter die vorhandenen angefügt werden. A2 muss also nicht fest sein, sondern variabel.

Das würde dann so aussehen:

Zitat:Sub Makro2()
Range("C23:C46").Copy
Range("A" & Cells(Rows.Count,1).End(xlUp).Row+1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("B23:C46").Delete Shift:=xlUp
End Sub

oder so

Zitat:Sub Makro2()
Range("C23:C46").Copy
Cells(Rows.Count,1).End(xlUp).Offset(1,0).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("B23:C46").Delete Shift:=xlUp
End Sub