Guardar hoja de excel con el mismo nombre del archivo principal

Para Dante. Hola. Tengo la siguiente macro que tu me hiciste y funciona a la perfección pero deseo hacerle una pequeña modificación. Deseo es que al presionar el botón el haga lo mismo que hace esta macro pero que sea del archivo del cual estoy trabajando, es decir, si mi archivo se llama "carlos" y me encuentro trabajando en ese archivo, el me haga el pdf de la hoja llamada planilla con el nombre de "carlos", o sea, el mismo nombre. Grx

Sub guarda()
'por.Dante Amor
    Set h1 = ActiveSheet
    uf = h1.Range("T" & Rows.Count).End(xlUp).Row
    If uf = 1 Then uf = 2
    h1.Range("T2:U" & uf).Clear
    '
    Set nav = CreateObject("shell.application")
        On Error Resume Next
        car = nav.browseforfolder(0, "Selecciona la Carpeta ", 0, ruta).items.Item.Path
        If car = "" Then Exit Sub
        ChDir car & "\"
    '
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    archi = Dir("*.xl*")
    j = 2
    Do While archi <> ""
        Set l2 = Workbooks.Open(Filename:=archi)
        l2.Sheets("planilla").Range("A1:S38").ExportAsFixedFormat _
                Type:=xlTypePDF, _
                Filename:=car & "\" & l2.Name & ".pdf", _
                Quality:=xlQualityStandard, IncludeDocProperties:=True, _
                IgnorePrintAreas:=False, OpenAfterPublish:=False
        If Err.Number = 0 Then
            h1.Cells(j, "U") = "Procesado"
        Else
            h1.Cells(j, "U") = "Archivo sin la hoja ''Planilla''"
        End If
        Err.Number = 0
        l2.Close
        h1.Cells(j, "T") = archi
        j = j + 1
        archi = Dir()
    Loop
    MsgBox "Creación de PDF, Terminada"
End Sub

1 Respuesta

Respuesta
1

Te anexo la macro

Sub guarda()
'por.Dante Amor
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("planilla")
    nom = Left(l1.Name, InStrRev(l1.Name, ".") - 1)
    h1.Range("A1:S38").ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=l1.Path & "\" & nom & ".pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, OpenAfterPublish:=False
    MsgBox "Creación de PDF, Terminada"
End Sub

Funciona perfecto, pero me gustaría agregar que me pida donde grabar

Grx

Te anexo la macro

Sub guarda()
'por.Dante Amor
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets("planilla")
    nom = Left(l1.Name, InStrRev(l1.Name, ".") - 1)
    '
    Set nav = CreateObject("shell.application")
        On Error Resume Next
        car = nav.browseforfolder(0, "Selecciona la Carpeta ", 0, l1.Path).items.Item.Path
        If car = "" Then Exit Sub
        ChDir car & "\"
    '
    h1.Range("A1:S38").ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=car & "\" & nom & ".pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, OpenAfterPublish:=False
    MsgBox "Creación de PDF, Terminada"
End Sub

Procura realizar la solicitud completa con todo el detalle de lo que necesitas. Recuerda que debes realizar una pregunta por cada petición.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas