Te comento.
1. Yo puse la carpeta "Trabajo" como ejemplo, tu puedes poner la que quieras. En esta línea de la macro puedes poner la carpeta y el drive que quieras.
Filename:="C:\trabajo\factura" & num & ".xls", _
2. Las macros las ves en VBa, presiona al mismo tiempo las teclas ALT + F11
En el módulo2 verás las macros Imprimir y printprev
Public boton As Boolean
Sub Imprimir()
'Por.DAM
If ActiveSheet.Name = "." Then
boton = True
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
num = Range("D5")
ActiveSheet.Copy
ActiveWorkbook.SaveAs _
Filename:="C:\trabajo\factura" & num & ".xls", _
FileFormat:=xlExcel8, _
Password:="", _
WriteResPassword:="", _
ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveWorkbook.Close
Range("D5") = Range("D5") + 1
End If
boton = False
End Sub
Sub printprev()
'Por.dam
boton = True
ActiveWindow.SelectedSheets.PrintPreview
boton = False
End Sub
Adicionalmente hay otra macro, entra a VBA con ALT + F11 Del lado izquierdo dice: VBAProject, abajo dale doble click a ThisWorkbook y verás esta macro
Private Sub Workbook_BeforePrint(Cancel As Boolean)
'Por.DAM
If ActiveSheet.Name = "." Then
If boton = False Then
MsgBox "Solamente se puede imprimir desde botón", _
vbCritical, "ERROR"
Cancel = True
End If
boton = False
End If
End Sub
3. También en la línea de la carpeta puedes cambiar el drive.
Saludos. DAM
No olvides finalizar la pregunta.