Saltar al contenido principal

¿Cómo insertar saltos de página cuando el valor cambia en Excel?

Autor: Xiaoyang Última modificación: 2020-06-03

Supongamos que tengo un rango de celdas, y ahora quiero insertar saltos de página en la hoja de trabajo cuando los valores en la columna A cambian como se muestra en la captura de pantalla de la izquierda. Por supuesto, puede insertarlos uno por uno, pero ¿hay alguna forma rápida de insertar los saltos de página a la vez en función de los valores modificados de una columna?

Insertar saltos de página cuando el valor cambia con el código VBA

Inserte saltos de página cuando cambie el valor con una característica poderosa


Insertar saltos de página cuando el valor cambia con el código VBA

El siguiente código de VBA puede ayudarlo a insertar saltos de página a continuación según los cambios de datos de columna una vez, haga lo siguiente:

1. Mantenga pulsado el botón ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. Hacer clic recuadro > Móduloy pegue el siguiente código en el Módulo Ventana.

Código de VBA: inserte saltos de página cuando cambie el valor:

Sub insertpagebreaks()
'updateby Extendoffice
    Dim I As Long, J As Long
    J = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
    For I = J To 2 Step -1
        If Range("A" & I).Value <> Range("A" & I - 1).Value Then
            ActiveSheet.HPageBreaks.Add Before:=Range("A" & I)
        End If
    Next I
End Sub

3. Entonces presione F5 para ejecutar este código, todos los saltos de página se han insertado en la hoja cuando los datos cambian en la columna A. Ver captura de pantalla:

Nota: En el código anterior, A es el encabezado de columna en el que desea insertar el salto de página, puede cambiarlo según sus necesidades.

Inserte saltos de página cuando cambie el valor con una característica poderosa

Si tiene Kutools for Excel, Con su Distinguir diferencias función, puede insertar rápidamente saltos de página, filas en blanco, líneas de borde inferior o color de fondo según los cambios de valor. ¡Haga clic para descargar Kutools para Excel!

Consejos:Para aplicar esto Distinguir diferencias función, en primer lugar, debe descargar la Kutools for Excely, a continuación, aplique la función de forma rápida y sencilla.

Después de instalar Kutools for Excel, haz lo siguiente:

1. Hacer clic Kutools > Formato > Distinguir diferencias, ver captura de pantalla:

2. En el estalló Distinguir diferencias por columna clave cuadro de diálogo, realice las siguientes operaciones:

  • Seleccione el rango de datos y la columna de clave que desea utilizar;
  • Elige Salto de página del desplegable Opciones encajonar.

3. Luego haga clic Ok botón, los saltos de página se han insertado en el rango en función de los cambios de valor, ver captura de pantalla:

¡Descargue y pruebe Kutools para Excel ahora!


Artículos más relativos:

  • Resaltar filas cuando el valor de la celda cambia en Excel
  • Si hay una lista de valores repetidos en su hoja de trabajo, y necesita resaltar las filas según la columna A, el valor de la celda cambia como se muestra en la siguiente captura de pantalla. De hecho, puede finalizar este trabajo rápida y fácilmente mediante la función de formato condicional.
  • Incrementar números cuando el valor cambia en otra columna
  • Supongamos que tiene una lista de valores en la columna A, y ahora desea incrementar el número en 1 en la columna B cuando el valor en la columna A cambia, lo que significa que los números en la columna B se incrementan hasta que el valor en la columna A cambia, entonces el el incremento numérico comienza de nuevo desde 1 como se muestra en la captura de pantalla de la izquierda. En Excel, puede resolver este trabajo con el siguiente método.
  • Sumar celdas cuando el valor cambia en otra columna
  • Cuando trabaje en una hoja de cálculo de Excel, en algún momento, es posible que deba sumar celdas en función de un grupo de datos en otra columna. Por ejemplo, aquí, quiero sumar los pedidos en la columna B cuando los datos cambian en la columna A para obtener el siguiente resultado. ¿Cómo podrías resolver este problema en Excel?
  • Insertar filas en blanco cuando el valor cambia en Excel
  • Supongamos que tiene un rango de datos y ahora desea insertar filas en blanco entre los datos cuando el valor cambia, de modo que pueda separar los mismos valores secuenciales en una columna como se muestra a continuación. En este artículo te hablaré de algunos trucos para que resuelvas este problema.
  • Ejecutar macro cuando el valor de la celda cambia en Excel
  • Normalmente, en Excel, podemos presionar la tecla F5 o el botón Ejecutar para ejecutar el código VBA. Pero, ¿alguna vez ha intentado ejecutar el código de macro específico cuando cambia el valor de una celda? En este artículo, presentaré algunos trucos rápidos para lidiar con este trabajo en Excel.

Las mejores herramientas de productividad de oficina

🤖 Asistente de IA de Kutools: Revolucionar el análisis de datos basado en: Ejecución inteligente   |  Generar codigo  |  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos  |  Invocar funciones de Kutools...
Características populares: Buscar, resaltar o identificar duplicados   |  Eliminar filas en blanco   |  Combine columnas o celdas sin perder datos   |   Ronda sin fórmula ...
Super búsqueda: Búsqueda virtual de criterios múltiples    Búsqueda V de valores múltiples  |   VLookup en varias hojas   |   Búsqueda difusa ....
Lista desplegable avanzada: Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple ....
Administrador de columnas: Agregar un número específico de columnas  |  Mover columnas  |  Toggle Estado de visibilidad de columnas ocultas  |  Comparar rangos y columnas ...
Características destacadas: Enfoque de cuadrícula   |  Vista de diseño   |   Gran barra de fórmulas    Administrador de hojas y libros de trabajo   |  Biblioteca de Recursos (Texto automático)   |  Selector de fechas   |  Combinar hojas de trabajo   |  Cifrar/descifrar celdas    Enviar correos electrónicos por lista   |  Súper filtro   |   Filtro especial (filtro negrita/cursiva/tachado...) ...
Los 15 mejores conjuntos de herramientas12 Texto Herramientas (Añadir texto, Quitar caracteres, ...)   |   50+ Tabla Tipos (Diagrama de Gantt, ...)   |   40+ Práctico Fórmulas (Calcular la edad según el cumpleaños, ...)   |   19 Inserción Herramientas (Insertar código QR, Insertar imagen desde la ruta, ...)   |   12 Conversión Herramientas (Números a palabras, Conversión de Moneda, ...)   |   7 Fusionar y dividir Herramientas (Filas combinadas avanzadas, Células partidas, ...)   |   ... y más

Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo.  Haga clic aquí para obtener la función que más necesita...

Descripción


Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Bonjour,

Merci pour le code qui fonctionne très bien, seulement je souhaite ajouter un saut de page après et non avant chaque changement de valeur... que faut-il changer dans le code ?

Merci beaucoup !
This comment was minimized by the moderator on the site
Tôi không muốn ngắt trang tại những hàng bị ẩn. Thì phải làm sao?
This comment was minimized by the moderator on the site
Hello, Lê Tuấn
To solve your problem, please apply the below VBA code:
Sub insertpagebreaks()
'updateby Extendoffice
Dim I As Long, J As Long
Dim xRg As Range
On Error Resume Next
J = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
Set xRg = Range("A1:A" & J).SpecialCells(xlCellTypeVisible)

For I = J To 2 Step -1
If Range("A" & I).Value <> Range("A" & I - 1).Value Then
If Not Intersect(xRg, Range("A" & I)) Is Nothing Then
ActiveSheet.HPageBreaks.Add Before:=Range("A" & I)
End If
End If
Next I
End Sub


Please try, hope it can help you!
This comment was minimized by the moderator on the site
Is it possible to skip the first 20 rows of the sheet? If been trying all kinds of stuff but my knowledge of VBA is to limited to adjuist the code myself.
This comment was minimized by the moderator on the site
Hi, Wilco,
To insert the page break but skip the first 20 rows, you just need to change one parameter as below code:

Sub insertpagebreaks()

'updateby Extendoffice

Dim I As Long, J As Long

J = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row

For I = J To 21 Step -1

If Range("A" & I).Value <> Range("A" & I - 1).Value Then

ActiveSheet.HPageBreaks.Add Before:=Range("A" & I)

End If

Next I

End Sub

Please try, thank you!
This comment was minimized by the moderator on the site
That is truly brilliant! I followed along on your VB example and it worked! I also am an owner of KUTools so I will play with that too.

Very impressed and thanks!

Mike
This comment was minimized by the moderator on the site
Sorry. EDIT: The first ROW is a column header.
This comment was minimized by the moderator on the site
Hello, Thank you! The thought of VBA makes me sweat. I do have one problem with the results of this code though. The first column is a column header. The code treats this as a change. My first page only shows the column header, but he following pages are fine. FYI: This is for a monthly report and the number of rows for each criteria change monthly. Any Ideas? Thank you in advance.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations