El problema esta en la ultima carpeta ´´CArpeta de facutara-23-24¨¨ que es donde debe guardar el archivo sin tomar en cuenta la condición establecida en la celda (N6) y no lo esta guardando.
Si debe guardar el archivo siempre en la misma carpeta entonces quita las condiciones:
Sub Imprimir()
'Por.Dante Amor
Dim h1 As Worksheet
Dim num As String, ruta As String
'
If ActiveSheet.Name = "." Then
Set h1 = ActiveSheet
Application.ScreenUpdating = False
boton = True
h1.PrintOut Copies:=1, Collate:=True
num = h1.Range("A9").Value
h1.Copy
If ActiveSheet.ProtectContents Then
ActiveSheet.Unprotect "maximo"
End If
h1.Range("E9").Copy
Range("E9").PasteSpecial Paste:=xlValues
'
ActiveSheet.Protect "maximo"
ruta = "D:\COLEGIO CLAREN LEHMAN\CARPETA DE FACTURA-23-24\"
ActiveWorkbook.SaveAs Filename:=ruta & num & ".xls", FileFormat:=xlNormal
ActiveWorkbook.Close False
'
h1.Unprotect "maximo"
h1.Range("D5") = Range("D5") + 1
h1.Protect "maximo"
End If
Application.ScreenUpdating = True
boton = False
End Sub
Si quieres que se guarde en las 2 carpetas:
Sub Imprimir()
'Por.Dante Amor
Dim h1 As Worksheet
Dim num As String, ruta As String
'
If ActiveSheet.Name = "." Then
Set h1 = ActiveSheet
Application.ScreenUpdating = False
boton = True
h1.PrintOut Copies:=1, Collate:=True
num = h1.Range("A9").Value
h1.Copy
If ActiveSheet.ProtectContents Then
ActiveSheet.Unprotect "maximo"
End If
h1.Range("E9").Copy
Range("E9").PasteSpecial Paste:=xlValues
'
Select Case UCase(Trim([N6]))
Case "MINERD"
ruta = "D:\COLEGIO CLAREN LEHMAN\CARPETA DE FACTURA-22-23\CARPETA DE FACTURA MINERD-22-23\"
Case "PRIVADO"
ruta = "D:\COLEGIO CLAREN LEHMAN\CARPETA DE FACTURA-22-23\CARPETA DE FACTURA PRIVADO-22-23\"
Case Else
ruta = "D:\COLEGIO CLAREN LEHMAN\CARPETA DE FACTURA-23-24\"
End Select
'
ActiveSheet.Protect "maximo"
ActiveWorkbook.SaveAs Filename:=ruta & num & ".xls", FileFormat:=xlNormal
'
ruta = "D:\COLEGIO CLAREN LEHMAN\CARPETA DE FACTURA-23-24\"
ActiveWorkbook.SaveAs Filename:=ruta & num & ".xls", FileFormat:=xlNormal
ActiveWorkbook.Close False
'
h1.Unprotect "maximo"
h1.Range("D5") = Range("D5") + 1
h1.Protect "maximo"
End If
Application.ScreenUpdating = True
boton = False
End Sub