Consejo: Otros idiomas son traducidos por Google. Puedes visitar el English versión de este enlace.
Iniciar sesión
x
or
x
x
Suscríbete
x

or

¿Cómo 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 en las siguientes capturas de pantalla. En este artículo, hablaré sobre algunos trucos para que resuelvas este problema.

Insertar filas en blanco cuando el valor cambie con la función Subtotal

Insertar filas en blanco cuando el valor cambie con columnas auxiliares

Insertar filas en blanco cuando el valor cambie con el código VBA

Inserte un número específico de filas en blanco cuando el valor cambia con una característica poderosa


Insertar salto de página, filas en blanco, borde inferior o color de relleno cuando el valor cambia rápidamente

Si usted tiene Kutools for Excel's Distinguir diferencias característica, puede insertar rápidamente saltos de página, filas en blanco, borde inferior o color de relleno cuando el valor cambia según lo necesite. Vea la demostración a continuación. Haga clic para descargar Kutools para Excel!


Insertar filas en blanco cuando el valor cambie con la función Subtotal

Con la Total característica, puede insertar filas en blanco entre los datos cuando el valor cambia como los siguientes pasos:

1. Seleccione el rango de datos que desea usar.

2. Hacer clic Información > Total para abrir el Total cuadro de diálogo, y en el Total diálogo, por favor haga las siguientes opciones:

1: Seleccione el nombre de la columna en la que desea insertar filas en blanco en función de cuándo el valor cambia bajo En cada cambio en la sección;
2: Escoger Contar del Utilice la función la lista desplegable;
3: Compruebe el nombre de la columna en la que desea insertar el subtotal en Agregar subtotal a cuadro de lista

3. Luego haga clic OK, las líneas de subtotal se han insertado entre los diferentes productos, y los símbolos de esquema se muestran a la izquierda de la tabla, vea la captura de pantalla:

4. Y luego haga clic en el número 2 en la parte superior del símbolo de esquema para mostrar solo las líneas de subtotal.

5. Luego seleccione los datos del rango de subtotales y presione Alt +; teclas de método abreviado para seleccionar solo las filas visibles, ver captura de pantalla:

6. Después de seleccionar las filas visibles solo luego presione Borrar tecla en el teclado, y todas las filas de subtotales se han eliminado.

7. Luego haz clic en cualquier otra celda y regresa Información > Desagrupar > Borrar el esquema para eliminar los contornos, vea la captura de pantalla:

8. Los símbolos de esquema se borraron de inmediato, y puede ver que se insertaron filas en blanco entre los datos cuando cambia el valor, vea la captura de pantalla:

9. Por último, puedes eliminar la columna A como necesites.


Insertar filas en blanco cuando el valor cambie con columnas auxiliares

Con las columnas de ayuda, puede insertar primero la fórmula y luego aplicar el Buscar y reemplazar función, por fin, inserte las filas en blanco entre los valores cambiantes. Por favor haz lo siguiente:

1. En una celda en blanco C3, ingrese esta fórmula = A3 = A2, y en la celda D4 ingrese esta fórmula = A4 = A3, mira la captura de pantalla:

2. Luego seleccione C3: D4, y arrastre el controlador de relleno al rango en el que desea aplicar estas fórmulas, y obtendrá Cierto or Falso en las celdas, mira la captura de pantalla:

3. Y luego presione Ctrl + F teclas para abrir el Buscar y reemplazar diálogo, en el cuadro de diálogo emergente, ingrese FALSO en el Encuentra lo que cuadro de texto debajo Buscar pestaña y haga clic Opciones para expandir este diálogo y elegir Valores del Pase a ver lista desplegable, ver captura de pantalla:

4. Haz click Encuentra todos botón, y luego presione Ctrl + A Para seleccionar todos los resultados de la búsqueda, todas las celdas FALSAS se han seleccionado a la vez, mira la captura de pantalla:

6. Cierra el Buscar y reemplazar cuadro de diálogo, siguiente paso, puede insertar filas en blanco haciendo clic Inicio > recuadro > Insertar filas de hoja, y las filas en blanco se han insertado en los datos cuando el valor cambia según la columna A, ver capturas de pantalla:

7. Finalmente, puede eliminar la columna de ayuda C y D que necesite.


Insertar filas en blanco cuando el valor cambie con el código VBA

Si está cansado de usar los métodos anteriores, aquí hay un código que también puede ayudarlo a insertar filas en blanco entre los valores modificados a la vez.

1. Mantenga presionado el ALT + F11 teclas para abrir el Ventana de Microsoft Visual Basic para Aplicaciones.

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

Código de VBA: inserte filas en blanco cuando el valor cambie

Sub InsertRowsAtValueChange()
'Update by Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For i = WorkRng.Rows.Count To 2 Step -1
    If WorkRng.Cells(i, 1).Value <> WorkRng.Cells(i - 1, 1).Value Then
        WorkRng.Cells(i, 1).EntireRow.Insert
    End If
Next
Application.ScreenUpdating = True
End Sub

3. Entonces presione F5 para ejecutar este código, y aparecerá un cuadro emergente que le permitirá seleccionar datos de una columna en los que quiera insertar filas en blanco cuando cambie el valor en el que se basa, vea la captura de pantalla:

4. Y luego haz clic OK, las filas en blanco se han insertado entre los datos cuando el valor cambia según la columna A.


Inserte un número específico de filas en blanco cuando el valor cambia con una característica poderosa

Si está probado con los métodos problemáticos anteriores, aquí, presentaré una herramienta útil, Kutools for Excel's Distinguir diferencias puede ayudarlo a insertar saltos de página, filas en blanco, borde inferior o color de relleno cuando el valor de la celda cambia rápida y fácilmente.

Consejos:Para aplicar esto Distinguir diferencias característica, en primer lugar, debe descargar el Kutools for Excel, y luego aplicar la característica de forma rápida y sencilla.

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

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

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

  • Seleccione el rango de datos que desea usar y luego elija la columna de clave en la que desea insertar filas en blanco;
  • Entonces revisa Fila en blanco Opción de la Opciones sección e ingrese el número de filas en blanco que desea insertar.

3. Luego haga clic Ok botón, y el número específico de filas en blanco se ha insertado en los datos si el valor de la celda cambia, vea las capturas de pantalla:

Haga clic para descargar Kutools para Excel y prueba gratuita ¡Ahora!


Kutools for Excel: la mejor herramienta de productividad de Office aumenta su productividad en un 80%

  • Super Formula Bar (edite fácilmente varias líneas de texto y fórmula); Diseño de lectura (lee y edita fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas y mantener datos; Contenido de celdas divididas; Combinar filas duplicadas y suma / promedio... Prevenir células duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Celdas múltiples sin cambiar la referencia de fórmula; Crear referencias automáticamente a múltiples hojas; Insertar viñetas, Casillas de verificación y más ...
  • Fórmulas favoritas e insertadas rápidamente, Gamas, cuadros y cuadros; Cifrar celdas con contraseña Crear una lista de correo y enviar correos electrónicos ...
  • Extracto del texto, Agregar texto, Eliminar por posición, Eliminar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtro a otras hojas); Clasificación avanzada por mes / semana / día, frecuencia y más; Filtro especial por negrita, cursiva ...
  • Combinar libros de trabajo y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes xls, xlsx y PDF...
  • Funciona con Office 2007-2019 y 365, y es compatible con todos los idiomas. Es fácil de implementar en su empresa. Funciones completas de prueba gratuita de 60-day.
pestaña kte 201905

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

  • Habilitar la edición y lectura con pestañas en Word, Excel, PowerPoint, Editor, Acceso, Visio y Proyecto.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta tu productividad en un 50% y reduce cientos de clics de ratón por ti todos los días!
fondo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Hassan · 9 months ago
    Hello,
    Is very usefull in case i need to insert 1 row, but if i need to insert 145 rows in every time the data change in spwcific column, how can i do it??
    • To post as a guest, your comment is unpublished.
      skyyang · 9 months ago
      Hi, Hassan,
      To insert multiple blank rows when value changes in a specific column, you should apply the following VBA code:

      Note: In the below code, you should change the number 99 to your need, for example, when you insert 145 blank rows, you should change the number 99 to 144. Please try it, hope it can help you!

      Sub InsertRowsAtValueChange()
      Dim Rng As Range
      Dim WorkRng As Range
      On Error Resume Next
      xTitleId = "KutoolsforExcel"
      Set WorkRng = Application.Selection
      Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
      Application.ScreenUpdating = False
      For i = WorkRng.Rows.Count To 2 Step -1
      If WorkRng.Cells(i, 1).Value <> WorkRng.Cells(i - 1, 1).Value Then
      Range(WorkRng.Cells(i, 1).EntireRow, WorkRng.Cells(i + 99, 1).EntireRow).Insert
      End If
      Next
      Application.ScreenUpdating = True
      End Sub
      • To post as a guest, your comment is unpublished.
        DCalk · 9 months ago
        Very helpful. The code that skyyang shows above worked perfectly. Just make sure that the data doesn't already have spaces in it.

        I don't understand VBA, but I believe if you wanted to add more rows underneath data that already had the spacing, there should be a way to ignore spaces.

        Could a line be added to ignore or skip over blank lines? That might make this code more universal and repeatable if needed. Also a delete function that is similar to this may be useful so undo isn't necessary.
  • To post as a guest, your comment is unpublished.
    Suzi · 10 months ago
    RE: insert blank rows when value changes with vba code
    Is there a way that I can save the Range & not have to pick it every time I run it?
  • To post as a guest, your comment is unpublished.
    Eric F · 1 years ago
    The VBA code worked 1st time and did exactly what I was trying to do. Thank you so much!
  • To post as a guest, your comment is unpublished.
    Steve · 1 years ago
    I've been using my own solution for some time.
    1. Insert a helper column into Column A
    2. In A2, type "if(B2=B1,A1,A1+1)"
    3. Copy that formula down to the last row
    4. Copy all the populated cells in column A and Paste Special (Values) over them
    5. Copy all the cells again and paste them into column A in the first unpopulated cell (e.g. if you have 104 rows of data plus a header row you would paste into cell A106)
    6. Click on Data and Remove Duplicates (only on the cells you just pasted in Step 5; not on all rows)
    7. Sort all of Column A
    8. Delete Column A

    Seems like a lot of steps but only takes a few seconds.
  • To post as a guest, your comment is unpublished.
    Madhur · 2 years ago
    [quote name="Hudson"]Hi all thank you!!

    its awesome , can you guys also let me how to insert 2 rows when the value changes in VBA or through excel.[/quote]

    Please let me know how to insert more than 1 row.
  • To post as a guest, your comment is unpublished.
    Davis · 2 years ago
    Hi there,

    These are almost useful! The first method doesn't work for me because when I follow the steps explicitly, the the data that I delete in the subtotal panes deletes the entire columns that I've sorted.

    In the second method when I get to the step where I insert sheet rows, the rows are inserted ABOVE the FALSE cells which breaks up the data, but the last selection of every group is then added to the group below.

    Any advice???
  • To post as a guest, your comment is unpublished.
    Hudson · 3 years ago
    Hi all thank you!!

    its awesome , can you guys also let me how to insert 2 rows when the value changes in VBA or through excel.
  • To post as a guest, your comment is unpublished.
    Rafael · 3 years ago
    Where in the code would I need to modify to include more than one row, I need to add 10 after each break...

    Thanks
  • To post as a guest, your comment is unpublished.
    Ivo Tamm · 3 years ago
    Thank you very much for describing multiple solutions for the problem.
    I used the Visual Basic one and changed
    [quote]WorkRng.Cells(i, 1).EntireRow.Insert[/quote] with
    [quote]With WorkRng.Cells(i, 1).EntireRow.Borders(xlEdgeTop)
    .LineStyle = xlContinuous
    .ColorIndex = xlAutomatic
    .TintAndShade = 0
    .Weight = xlMedium
    End With[/quote]
    This will draw lines between rows with changing values instead of empty lines.
  • To post as a guest, your comment is unpublished.
    Saul · 4 years ago
    Thank you so much, looked everywhere and this was the only solution that worked for me that was also in plain english.

    All the other Excel tutorial websites didn't break it down step-by-step they way you did, thank you very much.

    cheers : )
  • To post as a guest, your comment is unpublished.
    Abner · 4 years ago
    I have a column with the numbers 5,4,3,2 and 1 (a LOT of them) and I wanna separate the Fives from the others, like:

    5
    5
    5

    4
    3
    2
    1

    5
    5
    5
    5
    5

    4
    3
    2
    1

    The numbers are in desc order and there are always a four below a five,
    so I tried:

    Sub InsertRowsAtValueChange()
    'Update 20140716
    Dim Rng As Range
    Dim WorkRng As Range
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
    Application.ScreenUpdating = False
    For i = WorkRng.Rows.Count To 2 Step -1
    If WorkRng.Cells(i, 1).Value = 5 And WorkRng.Cells(i - 1, 1).Value = 4 Then
    WorkRng.Cells(i, 1).EntireRow.Insert
    End If
    Next
    Application.ScreenUpdating = True
    End Sub

    But it didn't work. Can you help me?