Separar registros insertando filas en excel

Estoy buscando una macro que me permita separar registros (filas) cada vez que un registro sea diferente a su consecutivo, en la red de todo expertos encontré este código, pero solo realiza la tarea con unos cuantos registros, y quería saber si la puedes revisar.

Muchas gracias, saludos JPC.

Sub InsertaFila()
Dim J, R As Long
Dim Num As Double
J = Range("A" & Rows.Count).End(xlUp).Row
For R = 2 To J
    Num = Cells(R, 1)
    If Not Cells(R + 1, 1) = Num Then
          Cells(R + 1, 1).EntireRow.Insert
          J = J + 1
          R = R + 1
    End If
Next
End Sub

1 respuesta

Respuesta
1

Puedes poner un ejemplo de lo que tienes y del resultado que quieres

Por ejemplo, entiendo lo siguiente, si tienes esto:

1

2

3

5

Quieres el resultado así:

1

2

3

Línea en blanco

5


Pero si tienes esto:

1

2

3

7

Qué resultado esperas, ¿así?

1

2

3

Línea en blanco

7

O así

1

2

3

Línea en blanco

Línea en blanco

Línea en blanco

7


Hola Dan.

Te puedo enviar un archivo de excel a tu mail con el ejemplo?

Saludos y muchas gracias por tu pronta respuesta.

Sí, claro, recuerda poner en el asunto tu nombre de usuario: "jovani perez castro"

Dam, ya te envié el archivo, muchas gracias

Con la siguiente macro se realiza la separación en la misma columna, los datos deben estar ordenados

Sub segmentar()
'Por.Dante Amor
    u = Range("A" & Rows.Count).End(xlUp).Row
    ant1 = Cells(u, "A")
    ant2 = Cells(u, "B")
    ant3 = Cells(u, "C")
    '
    For i = u To 2 Step -1
        If Cells(i, "A") = ant1 And _
           Cells(i, "B") = ant2 And _
           Cells(i, "C") = ant3 Then
        Else
            Rows(i + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        End If
        ant1 = Cells(i, "A")
        ant2 = Cells(i, "B")
        ant3 = Cells(i, "C")
    Next
End Sub

Saludos.Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas