Es ist kein Fehler im Code vorhanden.
Aber ich bekam noch nicht, was ich will.VBA: Die letzte Zeile konnte nicht zum Füllen der Tabelle (Array der Blätter) verwendet werden
Der Code sollte jede Zeile nehmen, die "Total" enthält und dann einfügen, um eine Tabelle zu füllen.
Alle Tabellen, die ich momentan bekomme, sind falsch, einige kopieren sogar die Zeile, die nicht "Total" enthält.
Und für einige, nur 15 Zeilen haben, aber es gibt 30.
For Each name In Array("Sheet A", "Sheet B", _
"Sheet C", "Sheet D")
Set ws = ThisWorkbook.Worksheets(name)
'find EVERY total row then copy the range from A-J
'new rows with contents added during macro run
ws.Columns("L:U").Select
Selection.ClearContents
For Each cell In Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
If cell.Value = "Total" Then
cell.Activate
n = ActiveCell.Row
Set rnge = Range(ws.Cells(n, 1), ws.Cells(n, 10))
rnge.Copy
'clear contents before contents paste to here
'it was kinda unnecessary but im clueless on how to only copy new added row
'and paste them to create new table (in same sheet from columnL)
'Columns("L:U").Select
'Selection.ClearContents
pasteRow = ws.Cells(ws.Rows.Count, "L").End(xlUp).Row + 1
ws.Cells(pasteRow, "L").PasteSpecial xlPasteValues
End If
Next cell
Next name
ich noch neu bin, so war ich nicht sicher, ob es von Platten-Array oder Bereich verwendet wegen der falsch/Zelle.
Ich habe diese Annahme gemacht, weil, wenn ich dies auf Einzelblatt ausführen, funktioniert es gut.
For Each ws In ThisWorkbook.Worksheets
If ws.Name = "Sheet A" Then
'Range' implizit die' ActiveSheet' verwendet. – ThunderFrame
forschen Sie, wie Sie die .select-Funktion loswerden und nachsehen können, um Ihre Referenzen vollständig zu qualifizieren. Das sollte dir 99% + den Weg dorthin bringen. – sous2817