¿Qué mensaje de error te aparece?
¿Qué versión de excel tienes?
Tu libro con la macro tiene extensión "xlsm"
O podemos intentar poniendo un nombre nuevo a tu archivo nuevo, por ejemplo "libro copia"
Entonces prueba con lo siguiente:
Sub Copiar_Libro()
'Por.Dante Amor
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set l1 = ThisWorkbook
ruta = l1.Path & "\"
nombre = "libro copia"
'p = InStrRev(nombre, ".xlsm") - 1
'nombre = Mid(nombre, 1, p)
l1.Sheets.Copy
Set l2 = ActiveWorkbook
For Each h In l2.Sheets
If h.AutoFilterMode Then h.AutoFilterMode = False
If h.FilterMode Then h.ShowAllData
h.Cells.Copy
h.Range("A1").PasteSpecial xlValues
Next
l2.SaveAs ruta & nombre
l2.Close
MsgBox "Copia realizada"
End SubDespués de crear la copia, entra al explorador de windows y renombra el archivo con el nombre que desees.
.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
.
Avísame cualquier duda
.