Im Moment habe ich eine Arbeitsmappe, die ein Hauptblatt und mehrere individuelle Kundenblätter enthält. Ich schreibe einen Code, um die Kundenspalte zu betrachten, kopiere die Zeile und füge sie dann in ihr jeweiliges Blatt ein. Am Ende möchte ich die letzte Zeile aus meinem Vorlagenblatt als letzte Zeile für das Kundenblatt einfügen. Dies ist um Durchschnittswerte zu berechnen. Bis jetzt funktioniert es, aber die letzte Zeile wird oben auf dem Blatt eingefügt, aber nicht unten. Ich kann nicht herausfinden, wie ich es in die letzte Reihe bringen kann.Letzte Zeile eines Blattes kopieren und letzte Zeile eines anderen Blattes einfügen VBA
Sub copyPasteDataCustomer()
Dim sws As Worksheet
Dim tws As Worksheet
Dim cel As Range
Set sws = Sheets("Master")
For Each cel In sws.Range("B5:B" & Range("B" & Rows.Count).End(xlUp).Row)
Set tws = Sheets(CStr(cel.Value))
cel.EntireRow.Copy tws.Range("A" & Rows.Count).End(xlUp).Offset(1)
Dim ws1 As Worksheet: Set ws1 = ThisWorkbook.Sheets("Canvus")
Dim ws2 As Worksheet: Set ws2 = tws
For i = 2 To ws1.Range("G" & Rows.Count).End(xlUp).Row
ws1.Rows(i).Copy ws2.Rows(ws2.Cells(ws2.Rows.Count, "G").End(xlUp))
Next i
Next cel
End Sub
Ist die Zeile an die Spitze der für die in Ihrer 'For i' Schleife einfügen? Sie müssen möglicherweise auch '.Row' hinter' .End (xlUp) 'in dieser Schleife hinzufügen, um sicherzustellen, dass die Zeile richtig angezeigt wird. – BruceWayne
Ja, das ist richtig, die Zeile einfügen auf der Oberseite ist in der Schleife. Und danke, ich werde versuchen, das jetzt hinzuzufügen. @BruceWayne – KingSneaky
Oh, versuch '... Kopiere ws2.Rows (ws2.Cells (ws2.Rows.Count, "G"). Ende (xlUp) .Row + 1) '. Warum auch eine andere Worksheet-Variable erstellen und nicht nur 'tws' anstelle von' ws2' verwenden? – BruceWayne