Conpaginar el exportado en pdf de excel

Tengo mi macro que exporta todos las hoja de un libro de excel que tengo a pdf

Al exportarlo me sale un pdf con algo de 100 hojas he intentado de manera manual ponerle en encabezado esquina derecha para que me arrogue "Página 1 de 100" y así sucesivamente digamos y lo coloca de manera excelente pero el problema viene cuando intento hacer que no comience de la página 1 sino de la "Página 5 de 105" y así sucesivamente

Alguna manera para que me arroque un inputbox que me diga de que página iniciara y se ingrese de esa manera para poder exportarlo conpaginado todo mi pdf.

1 respuesta

Respuesta
2

[Hola

Prueba así:

Sub Paginas()
Dim nPaginai As Integer
nPaginai = Application.InputBox(prompt:="Ingrese un  número del 1 al 1000", Type:=1)
With ActiveSheet.PageSetup
    .RightFooter = "Página &P de &N"
    .FirstPageNumber = nPaginai
End With
End Sub

Comentas

Abraham Valencia

Si inicia de la página que le pongo en el inputbox pero la ultima página no cambio osea en la página final que tenia decía "Página 109 de 100" lo lógico seria que me diga "Página 109 de 109"

Alguna solución para este caso por favor.

Pues así:

Sub Paginas()
Dim nPaginai As Integer, Paginas As Integer
Paginas = ExecuteExcel4Macro("Get.Document(50)")
nPaginai = Application.InputBox(prompt:="Ingrese un  número del 1 al 1000", Type:=1)
With ActiveSheet.PageSetup
    .RightFooter = "Página &P de " & (Paginas + nPaginai) - 1
    .FirstPageNumber = nPaginai
End With
End Sub

Saludos- desde Lima

Abraham Valencia

Amigo quedo excelente pero como haría para que se me aplique a todo el libro de excel y no solo a 1 hoja antes de pasarlo a pdf y que sea en el encabezado como era mi duda al inicio je je si pudiera con tamaño de letra 16 seria de gran ayuda alguna guía en eso Abraham Valencia . Muchas Gracias

  1. Amigo ya arregle el código a mi comodidad pero solo me conpagina la primera hoja y no todas las hojas
    Sub Paginas()
    Dim nPaginai As Integer, Paginas As Integer
    Dim x As Long
    Sheets(1).Select
    Paginas = ExecuteExcel4Macro("Get.Document(50)")
    nPaginai = Application.InputBox(prompt:="Ingrese un  número del 1 al 1000", Type:=1)
    Sheets(1).Activate
    With ActiveSheet.PageSetup
        .RightHeader = "&16" & "Página &P de " & (Paginas + nPaginai) - 1
        .FirstPageNumber = nPaginai
    End With
    End Sub
    me gustaria que selecione todas las hojas del libro y cuente el total de hojas para k luego me diga de que hoja comenzara alguna ayuda amigo
Sub Paginas()
Dim nPaginai As Integer, Paginas As Integer
Dim x As Long
Dim Hoja As Worksheet
For Each Hoja In Worksheets
    Paginas = ExecuteExcel4Macro("Get.Document(50)")
    nPaginai = Application.InputBox(prompt:="Ingrese un  número del 1 al 1000", Type:=1)
    With Hoja.PageSetup
        .RightHeader = "&16" & "Página &P de " & (Paginas + nPaginai) - 1
        .FirstPageNumber = nPaginai
    End With
Next Hoja
End Sub

Abraham Valencia

¡Gracias! Quedo excelente algunos códigos desconocía usted cree que me podría explicar cual es funcionamiento de ExecuteExcel4Macro("...)

Antes del VBA, Excel usaba las Macros de Excel 4.0 y sus macro funciones. Todas ellas aún son vigentes en las versiones más recientes de Excel (aunque ya casi nadie las usa). El método "ExecuteExcel4Macro" de VBA ayuda a ejecutarlas y en este caso la que uso es "Get.Document" que devuelve información sobre el archivo y el 50 le indica que necesito el número de páginas.

Saludos]

Abraham Valencia

Que otros números aparte del 50 hay y que indican amigo algún consejo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas