Mein Ziel einfügen:
Kopie letzte Zeile in jedem aktuellen Bereich und in A26 Region einfügen.
Also wäre A26 die erste Zelle in dieser neuen Region.
Auch Zelleninhalte wechseln.
Hinweis, dass der Inhalt in Zelle A = C-Zelle in dem neuen Bereich,
B-> E, C-> B, D-> D, E> A.
Erwartete Ergebnisse finden Sie im Bild unten.VBA: Kopieren und letzte Zeile in der aktuellen Region
Problem im aktuellen code:
Ich war mir nicht sicher, wie man alle Zellen kopiert und sie in entsprechende Spalte einfügt.
Statt jeweils nur letzte Zeile immer hervorgehoben,
einige der aktuellen Region bekam letzte 2 Zeilen hervorgehoben.
Auch der aktuelle Code, nur die letzte Zeile im Blatt kopieren, wie es in der Schleife überschrieben wurde?
Dim ws As Worksheets
Dim rng As Range
Dim r As Long
Dim wb As Workbook
Set wb = ThisWorkbook
For Each ws In wb.Worksheets
If ws.Name = "Master" Then
For Each rng In ws.UsedRange.SpecialCells(xlCellTypeConstants, 3).Areas
r = rng.Cells(rng.Rows.Count, 1).Row 'last row
Set rng = ws.Range(Cells(r, "A"), Cells(r, "J")) 'range = last row cells from col A-J
rng.Interior.ColorIndex = 3 'highlight that range
rng.Copy
ws.Range("A26").PasteSpecial xlPasteValues 'paste them all to same sheet A26
Next rng
End If
Next ws
End Sub
Ich bin zu vba noch neu. Kann mir jemand etwas Licht geben?
Könnten Sie etwas mehr Kontext zu Ihrem Code hinzufügen? Variabler Deklarationscode würde helfen, –
@MarkFitzgerald, Ive Variable Deklaration im Code hinzugefügt. – Santa
Ich muss das ganze Sub sehen, weil es mehr gibt - 'ws' wird (wahrscheinlich) in einer Schleife gesetzt und es muss etwas Code vorhanden sein, um die Spalten nach dem Kopieren/Einfügen neu anzuordnen. Sehen Sie sich [mcve] an, um zu erfahren, was zu berücksichtigen ist. –