I think because lastrow1 and lastrow2 are redefined every time the loop runs, it should always have an empty row, however I could be wrong, as I can't test that until I get the cell.Value.Copy working, I'm not sure if this is something that works as when I run it, i get a "Run-time error '1004': "Method 'Range' of object'_Worksheet' failed and this highlights this line of code![]()
cell.Value.Copy newSheet.Range(lastrow)
Bookmarks