Índice con números de página en Excel

Resuelto
Chester Copperpot Mensajes publicados 12 Fecha de registro   Estado Miembro Última intervención   -  
Chester Copperpot Mensajes publicados 12 Fecha de registro   Estado Miembro Última intervención   -
Hola a todos,

Me gustaría pasar de Word a Excel para la redacción de mis informes.
Mis informes están compuestos esencialmente por tablas de Excel, el copiar y pegar me hace perder mucho tiempo, y realmente no necesito las funciones que ofrece Word.

En resumen, me gustaría utilizar las hojas de Excel como capítulos.

Sin embargo, tengo problemas con el índice automático con el número de páginas:

He insertado los números de página en el pie de página.

Cuando se imprime "todo el libro", se observa que los números de página se encadenan correctamente (si la Hoja 1 tiene tres páginas, entonces la Hoja 2 comienza en la página n°4).

Sin embargo, cuando se está en la vista "Diseño de página", todas las hojas comienzan con una página n°1.

En la primera hoja ("Índice"), puedo listar el nombre de todas las hojas a través de una macro.

Mi pregunta es la siguiente:
Quisiera mostrar junto al nombre de cada hoja el número de página que se encuentra cuando se imprime "todo el libro". No sé cómo extraer esa variable...

¡Muchas gracias por su ayuda!

Vincent

Configuración: Windows / Firefox 96.0

1 respuesta

  1. via55 Mensajes publicados 14393 Fecha de registro   Estado Miembro Última intervención   2 759
     
    Buenas noches

    En VBA, la instrucción que proporciona el número de páginas de una hoja es:
    nbf =ExecuteExcel4Macro("GET.DOCUMENT(50)")

    Ejemplo de macro para recopilar los nombres de todas las hojas y el número de su primera página durante una impresión total
    Sub sommaire() 'si la primera hoja excel comienza en 1 poner deb =0 de lo contrario si por ejemplo sommaire en 1er en una página numerada página 1 poner como aquí deb=1 deb = 1 ' el sommaire siendo la primera pestaña, bucle en las otras hojas For n = 2 To Sheets.Count Sheets(n).Select ' recoge el nombre de la hoja Sheets("Sommaire").Range("B" & n) = Sheets(n).Name ' inscribe el n° de la 1ra página Sheets("Sommaire").Range("C" & n) = deb + 1 'incrementa la variable con el número de páginas de la hoja deb = deb + ExecuteExcel4Macro("GET.DOCUMENT(50)") Next Sheets("Sommaire").Select End Sub


    Saludos
    Via

    1
    1. Chester Copperpot Mensajes publicados 12 Fecha de registro   Estado Miembro Última intervención  
       
      Hola,

      ¡Muchas gracias por esta respuesta perfecta! Es exactamente lo que quería.
      ¡Así que ya no tengo excusas, tendré que ponerme a trabajar ahora!

      Que tenga un muy buen día.
      0