Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zeilen durchlaufen mit VBA
#1
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
Antworten Top
#2
Bitte zeige eine Beispieldatei mit Wunschlösung...
Eine Menge reden, aber nichts sagen können viele...
Antworten Top
#3
"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)
Antworten Top
#4
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 :)
Schöne Grüße
Berni
Antworten Top
#5
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
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste