Sheets(ActiveSheet.Name)
is an inconvenient way of saying ActiveSheet
.
Just capture ActiveSheet
in a variable after copying.
Dim CopiedSheet as Worksheet
Set CopiedSheet = ActiveSheet
You don't need sheet's name when you have the sheet itself.
Recommended reading: How to avoid using Select in Excel VBA macros