Su pensión en Colpensiones. Calcule la que tendría hoy o planee la que quiere tener. Conózcalo aquí

Cómo numerar hojas y foliar páginas en Excel

«Numerar las hojas» de Excel puede significar dos cosas: poner un número consecutivo en el nombre de cada pestaña del libro, o foliar, es decir, numerar las páginas que se imprimen. Lo primero se hace con una macro y lo segundo, con el encabezado o el pie de página. ¿Cómo se hace cada una?

Foliar: numerar las páginas al imprimir.

Para que cada página impresa o exportada a PDF lleve su número, se agrega un campo de número de página en el pie o en el encabezado:

  1. Ir a «Insertar», «Encabezado y pie de página». La hoja cambia a la vista «Diseño de página».
  2. Hacer clic en la sección del pie de página donde irá el número: izquierda, centro o derecha.
  3. En la pestaña «Encabezado y pie de página», hacer clic en «Número de página». Aparece el código &[Página].
  4. Si se quiere el formato «Página 1 de 5», escribir «Página », insertar «Número de página», escribir « de » e insertar «Número de páginas».
  5. Hacer clic en cualquier celda y revisar el resultado en la vista previa de impresión (Ctrl + P).

También puede hacerse desde «Disposición de página», el iniciador del grupo «Configurar página», pestaña «Encabezado y pie de página», donde hay formatos predefinidos como «Página 1 de ?».

Empezar en otro número.

Para que la numeración empiece en un número distinto de 1, por ejemplo porque el documento continúa la foliación de otro, se abre «Configurar página» y, en la pestaña «Página», se escribe el número en «Primer número de página». Con «Automático», Excel empieza en 1.

Foliar varias hojas a la vez.

El encabezado y el pie de página se configuran por hoja. Para aplicarlos a varias, se agrupan antes: clic en la primera pestaña, Mayús + clic en la última (o Ctrl + clic en hojas sueltas) y se configura el pie de página una sola vez. Al terminar, se desagrupan con clic derecho, «Desagrupar hojas», para no modificar todas las hojas al escribir.

Si se imprime el libro completo con la opción «Imprimir todo el libro» y el primer número de página está en «Automático», la numeración continúa de una hoja a la siguiente. Cuando las hojas se imprimen por separado, cada una empieza en 1, salvo que se ajuste el primer número de página de cada una; la macro FoliarContinuo del módulo descargable lo hace automáticamente.

Numerar las pestañas con una macro.

Para poner un número consecutivo en el nombre de cada hoja se usa una macro, que se escribe en el editor de Visual Basic (Alt + F11), en «Insertar», «Módulo». Esta antepone el número al nombre actual, de modo que «Enero» queda como «01-Enero»:

Sub AnteponerNumero()

Dim h As Worksheet, i As Long

For Each h In ThisWorkbook.Worksheets

i = i + 1

h.Name = Left(Format(i, "00") & "-" & h.Name, 31)

Next h

End Sub

For Each recorre las hojas en el orden de las pestañas, i lleva la cuenta y Format(i, "00") escribe el número con dos dígitos, para que 01, 02… 10 se ordenen bien. Left limita el nombre a 31 caracteres, el máximo que admite Excel. Si se cambia el separador «-» por un espacio u otro carácter, la macro funciona igual, salvo con los caracteres que Excel no admite en los nombres de hoja: \ / ? * [ ] :.

Reemplazar el nombre por el número.

Si se quiere que cada hoja se llame solo con su número, hay que tener en cuenta que Excel no permite dos hojas con el mismo nombre. Si alguna ya se llama «2», la macro se detiene al intentar cambiar otra a «2». Por eso, primero se asignan nombres temporales y después los definitivos:

Sub NumerarHojas()

Dim h As Worksheet, i As Long

For Each h In ThisWorkbook.Worksheets

i = i + 1: h.Name = "tmp_" & i

Next h

i = 0

For Each h In ThisWorkbook.Worksheets

i = i + 1: h.Name = Format(i, "00")

Next h

End Sub

Cambiar el nombre de las hojas no afecta las fórmulas, que se actualizan solas, pero sí las macros que se refieren a una hoja por su nombre, como Worksheets("Enero"). Conviene probar la macro en una copia del libro. Más códigos para trabajar con hojas están en el artículo sobre los códigos de macros más comunes.

Saber el número de una hoja con una fórmula.

Desde Excel 2013, la función HOJA devuelve la posición de la hoja en el libro: =HOJA() en una celda muestra el número de la hoja en que está, y =HOJAS() el total de hojas del libro. Con =HOJA()&" de "&HOJAS() se obtiene, por ejemplo, «3 de 12», sin cambiar el nombre de las pestañas.

Las hojas ocultas también cuentan en la posición. Cómo mostrarlas se explica en el artículo sobre cómo mostrar hojas ocultas en Excel.

Macros de ejemplo para numerar y foliar hojas.

A continuación se dejan 5 macros que permiten automatizar el proceso explicad:

' 1. Reemplazar el nombre de cada hoja por un número consecutivo (01, 02, 03...)

Sub NumerarHojas()

Dim h As Worksheet, i As Long

' Primero se asignan nombres temporales para evitar conflictos con nombres que ya existan

For Each h In ThisWorkbook.Worksheets

i = i + 1

h.Name = "tmp_" & i

Next h

i = 0

For Each h In ThisWorkbook.Worksheets

i = i + 1

h.Name = Format(i, "00")

Next h

End Sub

' 2. Anteponer un número al nombre actual de cada hoja (01-Enero, 02-Febrero...)

Sub AnteponerNumero()

Dim h As Worksheet, i As Long, nuevo As String

For Each h In ThisWorkbook.Worksheets

i = i + 1

nuevo = Left(Format(i, "00") & "-" & h.Name, 31)   ' máximo 31 caracteres

h.Name = nuevo

Next h

End Sub

' 3. Quitar el número antepuesto con la macro anterior (formato 00-)

Sub QuitarNumero()

Dim h As Worksheet

For Each h In ThisWorkbook.Worksheets

If h.Name Like "##-*" Then h.Name = Mid(h.Name, 4)

Next h

End Sub

' 4. Foliar: poner "Página X de Y" en el pie de página de todas las hojas

Sub FoliarTodasLasHojas()

Dim h As Worksheet

Application.PrintCommunication = False

For Each h In ThisWorkbook.Worksheets

h.PageSetup.CenterFooter = "Página &P de &N"

Next h

Application.PrintCommunication = True

MsgBox "Se agregó la numeración de páginas en el pie de página de todas las hojas.", vbInformation

End Sub

' 5. Foliar con numeración continua: cada hoja empieza donde terminó la anterior

Sub FoliarContinuo()

Dim h As Worksheet, siguiente As Long

siguiente = 1

For Each h In ThisWorkbook.Worksheets

If h.Visible = xlSheetVisible Then

h.PageSetup.FirstPageNumber = siguiente

h.PageSetup.CenterFooter = "Folio &P"

siguiente = siguiente + h.PageSetup.Pages.Count

End If

Next h

MsgBox "Folios asignados del 1 al " & siguiente - 1 & ".", vbInformation

End Sub

Preguntas frecuentes.

A continuación respondemos las preguntas frecuentes de nuestros lectores.

¿Cómo foliar hojas en Excel?

Con «Insertar», «Encabezado y pie de página», «Número de página», en el pie de cada hoja.

¿Cómo hago que la numeración empiece en otro número?

En «Configurar página», pestaña «Página», «Primer número de página».

¿Cómo numero todas las hojas del libro a la vez?

Agrupándolas con Mayús + clic en las pestañas antes de configurar el pie de página, o con una macro.

¿Cómo pongo un número en el nombre de cada hoja?

Con una macro que recorra las hojas con For Each y cambie su propiedad Name.

¿Qué fórmula devuelve el número de la hoja?

=HOJA(), disponible desde Excel 2013. =HOJAS() devuelve el total de hojas.

¿Aún no tienes cuenta en Gerencie.com?
El registro es completamente gratis y desbloquea beneficios exclusivos.

Forma de citar este artículo (APA):

Gerencie.com. (2026, octubre 10). Cómo numerar hojas y foliar páginas en Excel [Entrada de blog]. Recuperado de https://www.gerencie.com/macro-para-numerar-hojas-en-excel.html

Deje su opinión o su pregunta. Trataremos de darle respuesta. Su comentario o pregunta será editada automáticamente por el sistema.

Regístrese para que le avisemos cuando respondan su pregunta.