Macro Excel para copiar hoja activa como xlsx

Con "esta" macro quiero guardar la hoja activa como xlsx

Sub guardar() 'PARA GUARDAR COMO XLSX
'Por.DAM
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    ruta = "C:\0\excel\"  'EN VEZ DE ESTO, DARME LA OPCION A DONDE GUARDAR
    h1 = ActiveSheet.Name
    nbr = Range("E8") & " " & h1 & Range("I8") & " " & Range("I9")
        ActiveSheet.Copy
    'ActiveSheet.SaveAs ruta & nbr & ".xlsx"
    ActiveSheet.SaveAs Filename:=ruta & nbr & ".xlsx", _
FileFormat:=xlNormal, Password:="123", WriteResPassword:="123", _
ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

Quiero pedirte para que le des el toque que tu sabes darle para que me guarde con el nombre de la hoja mas el nbr.

Al guardar quiero que me pregunte vía ventana de guardar como: donde quiero guardar.

1 Respuesta

Respuesta
1

H o l a:

Te anexo la macro actualizada

Sub guardar() 'PARA GUARDAR COMO XLSX
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    '
    Set h1 = ActiveSheet
    nbr = h1.Name & " " & h1.[E8] & " " & h1.[I8] & " " & h1.[I9]
    ruta = "C:\0\excel\"
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Selecciona una carpeta"
        .AllowMultiSelect = False
        .InitialFileName = ruta
        If .Show <> -1 Then Exit Sub
        cp = .SelectedItems(1)
    End With
    '
    h1.Copy
    ActiveWorkbook.SaveAs Filename:=cp & "\" & nbr & ".xlsx", _
        FileFormat:=xlNormal, Password:="123", WriteResPassword:="123", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

sal u dos

Hola DAM, ¿cómo te ha ido amigo?

Probé la macro y todo perfecto menos lo de ela imagen

Al abrir el archivo guardado, me dice:

Es por la versión. Prueba con esta:

Sub guardar() 'PARA GUARDAR COMO XLSX
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    '
    Set h1 = ActiveSheet
    nbr = h1.Name & " " & h1.[E8] & " " & h1.[I8] & " " & h1.[I9]
    ruta = "C:\0\excel\"
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Selecciona una carpeta"
        .AllowMultiSelect = False
        .InitialFileName = ruta
        If .Show <> -1 Then Exit Sub
        cp = .SelectedItems(1)
    End With
    '
    h1.Copy
    ActiveWorkbook.SaveAs Filename:=cp & "\" & nbr & ".xlsx", _
        FileFormat:=xlOpenXMLWorkbook, Password:="123", WriteResPassword:="123", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas