Note: The other languages of the website are Google-translated. Back to English

¿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 a continuación. En este artículo te hablaré de algunos trucos para que resuelvas este problema.

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

Insertar filas en blanco cuando el valor cambia con columnas auxiliares

Inserte 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 cambie con una característica poderosa


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

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

1. Seleccione el rango de datos que desea utilizar.

2. Hacer clic Datos > Total para abrir el Total cuadro de diálogo, y en el Total cuadro de diálogo, 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 cambia el valor en En cada cambio en la sección;
2: Escoger Contar de Utilice la función la lista desplegable;
3: Marque el nombre de la columna en la que desea insertar el subtotal en el 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, ver captura de pantalla:

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

5. Luego seleccione los datos del rango de subtotal y presione Alt +; teclas de acceso directo para seleccionar solo las filas visibles, vea la captura de pantalla:

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

7. Luego haga clic en cualquier otra celda y vuelva Datos > Desagrupar > Esquema claro para eliminar los Contornos, vea la captura de pantalla:

8. Los símbolos de contorno se han borrado a la vez y puede ver que se han insertado filas en blanco entre los datos cuando el valor cambia, vea la captura de pantalla:

9. Por último, puede eliminar la columna A según lo necesite.


Inserte un salto de página, filas en blanco, borde inferior o color de relleno cuando el valor cambie rápidamente

Si tiene Kutools for Excel's Distinguir diferencias función, 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 cambia con columnas auxiliares

Con las columnas auxiliares, puede insertar la fórmula primero y luego aplicar el Buscar y reemplazar función, por último, inserte las filas en blanco entre los valores cambiantes. 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, ver captura de pantalla:

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

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

4. Presione Encuentra todos y luego presione Ctrl + A para seleccionar todos los resultados de la búsqueda, todas las celdas FALSAS se han seleccionado a la vez, vea la captura de pantalla:

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

7. Finalmente, puede eliminar las columnas auxiliares C y D según lo necesite.


Inserte 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 pulsado 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 el Ventana de módulo.

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

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 los datos de una columna en la que desea insertar filas en blanco cuando el valor cambie en el que se basó, 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 cambie con una característica poderosa

Si ha probado con los molestos métodos 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 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 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 clave en la que desea insertar filas en blanco;
  • Entonces revisa Fila en blanco Opción de la Opciones De sección e ingrese el número de filas en blanco que desea insertar.

3. Luego haga clic Ok , 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!


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas 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 Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
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

  • 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!
officetab parte inferior
Comentarios (15)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
Tengo una columna con los números 5,4,3,2 y 1 (MUCHOS) y quiero separar los Cinco de los demás, como: 5 5 5 4 3 2 1 5 5 5 5 5 4 3 2 1 Los números están en orden descendente y siempre hay un cuatro debajo de un cinco, así que probé: Sub InsertRowsAtValueChange() 'Update 20140716 Dim Rng As Range Dim WorkRng As Range On Error Resume Next xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Establezca 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 Luego WorkRng.Cells(i, 1).EntireRow.Insert End If Next Application.ScreenUpdating = True End Sub Pero no funcionó. ¿Me puedes ayudar?
Este comentario fue minimizado por el moderador en el sitio
La fórmula funciona muy bien, sin embargo, hay algunos ejemplos en los que no reconoce
Este comentario fue minimizado por el moderador en el sitio
Muchas gracias, busqué en todas partes y esta fue la única solución que funcionó para mí que también estaba en inglés simple. Todos los demás sitios web de tutoriales de Excel no lo desglosaron paso a paso como lo hizo usted, muchas gracias. salud : )
Este comentario fue minimizado por el moderador en el sitio
Muchas gracias por describir múltiples soluciones para el problema. Usé el de Visual Basic y cambié [quote]WorkRng.Cells(i, 1).EntireRow.Insert[/quote] con [quote]With WorkRng.Cells(i, 1).EntireRow.Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = xlAutomatic .TintAndShade = 0 .Weight = xlMedium End With[/quote] Esto dibujará líneas entre filas con valores cambiantes en lugar de líneas vacías.
Este comentario fue minimizado por el moderador en el sitio
En qué parte del código necesitaría modificar para incluir más de una fila, necesito agregar 10 después de cada descanso... Gracias
Este comentario fue minimizado por el moderador en el sitio
hola a todos gracias!! es increíble, ¿pueden también dejarme cómo insertar 2 filas cuando el valor cambia en VBA o a través de Excel?
Este comentario fue minimizado por el moderador en el sitio
Hola, ¡Son casi útiles! El primer método no me funciona porque cuando sigo los pasos explícitamente, los datos que elimino en los paneles de subtotales eliminan las columnas completas que he ordenado. En el segundo método, cuando llego al paso donde inserto filas de hojas, las filas se insertan ARRIBA de las celdas FALSAS que dividen los datos, pero la última selección de cada grupo se agrega al grupo a continuación. ¿¿¿Algún consejo???
Este comentario fue minimizado por el moderador en el sitio
[cita]Hola a todos, gracias!! es increíble, ¿pueden también dejarme cómo insertar 2 filas cuando el valor cambia en VBA o a través de Excel?Por Hudson[/quote] Déjeme saber cómo insertar más de 1 fila.
Este comentario fue minimizado por el moderador en el sitio
He estado usando mi propia solución durante algún tiempo.
1. Inserte una columna auxiliar en la Columna A
2. En A2, escriba "si (B2 = B1, A1, A1 + 1)"
3. Copie esa fórmula hasta la última fila
4. Copie todas las celdas pobladas en la columna A y Pegue Especial (Valores) sobre ellas
5. Copie todas las celdas nuevamente y péguelas en la columna A en la primera celda vacía (por ejemplo, si tiene 104 filas de datos más una fila de encabezado, pegaría en la celda A106)
6. Haga clic en Datos y Eliminar duplicados (solo en las celdas que acaba de pegar en el Paso 5, no en todas las filas)
7. Ordenar toda la Columna A
8. Eliminar la columna A

Parecen muchos pasos, pero solo toma unos segundos.
Este comentario fue minimizado por el moderador en el sitio
El código de VBA funcionó la primera vez e hizo exactamente lo que estaba tratando de hacer. ¡Muchas gracias!
Este comentario fue minimizado por el moderador en el sitio
RE: insertar filas en blanco cuando el valor cambia con el código vba
¿Hay alguna forma de guardar el rango y no tener que elegirlo cada vez que lo ejecuto?
Este comentario fue minimizado por el moderador en el sitio
Hola,
Es muy útil en caso de que necesite insertar 1 fila, pero si necesito insertar 145 filas cada vez que los datos cambian en una columna específica, ¿cómo puedo hacerlo?
Este comentario fue minimizado por el moderador en el sitio
Hola, Hasan,
Para insertar varias filas en blanco cuando el valor cambia en una columna específica, debe aplicar el siguiente código VBA:

Nota: En el siguiente código, debe cambiar el número 99 según sus necesidades, por ejemplo, cuando inserta 145 filas en blanco, debe cambiar el número 99 a 144. Inténtelo, ¡espero que pueda ayudarlo!

Sub Insertar filas en el cambio de valor ()
Dim Rng como rango
Dim WorkRng como rango
On Error Resume Next
xTitleId = "KutoolsforExcel"
Establecer WorkRng = Aplicación.Selección
Establecer WorkRng = Application.InputBox("Rango", xTitleId, WorkRng.Address, Tipo:=8)
Application.ScreenUpdating = False
Para i = WorkRng.Rows.Count To 2 Step -1
Si WorkRng.Cells(i, 1).Value <> WorkRng.Cells(i - 1, 1).Value Entonces
Rango (Rango de trabajo. Celdas (i, 1). Fila completa, Rango de trabajo. Celdas (i + 99, 1). Fila completa). Insertar
Si terminar
Siguiente
Application.ScreenUpdating = True
End Sub
Este comentario fue minimizado por el moderador en el sitio
Muy útil. El código que skyyang muestra arriba funcionó perfectamente. Solo asegúrese de que los datos no tengan espacios.

No entiendo VBA, pero creo que si quisiera agregar más filas debajo de los datos que ya tenían el espacio, debería haber una forma de ignorar los espacios.

¿Se podría agregar una línea para ignorar u omitir las líneas en blanco? Eso podría hacer que este código sea más universal y repetible si es necesario. También puede ser útil una función de eliminación similar a esta, por lo que no es necesario deshacer.
Este comentario fue minimizado por el moderador en el sitio
¿Se puede adaptar el método VBA para ignorar las celdas en blanco? Tengo un archivo en el que necesito insertar filas en función de dos columnas diferentes, pero cuando ejecuto la macro en la segunda columna, termino con tres líneas en blanco donde la primera macro ejecutó filas insertadas.
¿O puede funcionar en dos columnas al mismo tiempo?
No hay comentarios publicados aquí todavía
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Seguinos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL