Dieses Makro wird zum Ausschneiden, Einfügen und Löschen eines Zellenbereichs einer Arbeitsmappe verwendet.Need help looping Makro, das einen Zellenbereich basierend auf einer ausgewählten Zeile ausschneidet/einfügt und löscht
Das Problem, das ich lösen wollte und mit der fehlenden Antwort in einem anderen Thread aufgab, ist, warum das Kopieren mehrerer nicht benachbarter Zeilen in die MS-Zwischenablage oft ihre Zeilenumbrüche beim Einfügen verliert.
z. Da versucht wird, 3 nicht benachbarte Zeilen in die Zeilen 10, 11 und 12 einzufügen, werden oft alle 3 Zeilen in Zeile 10 mit einer Zeile in Felder A10-P10, die nächste Zeile in Q10-AF10 und die letzte Zeile in AG10-AV10 gesetzt. ..
Ich habe das Makro unten bearbeitet, um diesen Fehler zu beheben, wenn dies passiert.
So, zum Beispiel kann ich jetzt Zeile 10 hervorheben und das Makro ausführen, um die Felder Q10-AF10 bis A11-P11 auszuschneiden/einzufügen und die leeren Felder jetzt in Q10-AF10 zu löschen/verschieben.
Ich hoffe auf Hilfe, diesen Prozess zu wiederholen, bis keine Daten außerhalb der Spalte A-P vorhanden sind. In diesem Fall keine Daten außerhalb der Zelle P10.
Sub FixAllOnLine1OneRowAtATimeInsertToNextRow()
Application.ScreenUpdating = False
Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Set copySheet = ActiveSheet
Set pasteSheet = ActiveSheet
copySheet.Range("Q" & ActiveCell.Row & ":AF" & ActiveCell.Row).Copy
Range("Q" & ActiveCell.Row & ":AF" & ActiveCell.Row).Offset(1).Select
pasteSheet.Cells(ActiveCell.Row, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Application.ScreenUpdating = True
Columns("Q:AF").Select
Selection.Delete Shift:=xlToLeft
End Sub
Ich war sicher, dass das Problem einer kleinen Änderung an den bewegen Offset, in Im obigen Beispiel wäre der ausgeschnittene Zellenbereich Q10: AF10, der eine Zeile unterhalb in den Zellenbereich A11: P11 statt B2: P2 eingefügt wurde, leicht zu fixieren. :-(Die Offset-Funktionen (x, y), die ich noch versuche herauszufinden. –