You need to change that to
Sheets("SKU Opt").Range(Sheets("SKU Opt").Range("D2"), Sheets("SKU Opt").Range("D2").End(xlDown)).Copy
When working with multiple worksheets, you should always qualify the worksheet you're working with. As you see, when you don't, it's possible to get errors. As you have it, it's looking to the "SKU Opt" page for a range, but then what range isn't exactly clear. Without specifying, the Range()
set will be from the Active Sheet. When the Active Sheet is different than "SKU Opt", it'll throw an error most likely.
An alternative is to use With
:
With Sheets("SKU Opt")
.Range(.Range("D2"),.Range("D2").End(xlDown)).Copy
End With