Insertar unas líneas con VBA cuando columna "M" cambie el valor

Tengo un hoja de excel que puede contener cada día varias líneas de datos tengo que ordenarla por la columna "M" y deseo separar con varias líneas (unas cinco) cuando el valor de la columna M cambie a otro valor( los valores de la columna M pueden son alfanumérico.

1 respuesta

Respuesta
1

Prueba esta macro, ordena los datos por la celda M, luego filtra los valores de la misma columna y los busca separando 5 filas al encontrarlos

Sub agregar_lineas()
Dim unicos As New Collection
Set datos = Range("m:m").CurrentRegion
With datos
    filas = .Rows.Count:    col = Range("m1").Column
    .Sort key1:=Range(.Columns(col).Address), order1:=xlAscending, Header:=xltue
    For i = 2 To filas
        valor = .Cells(i, col)
        On Error Resume Next
            unicos.Add valor, CStr(valor)
        On Error GoTo 0
    Next i
    For j = 1 To unicos.Count
        valor = unicos.Item(j)
        cuenta = WorksheetFunction.CountIf(.Columns(col), valor)
        fila = WorksheetFunction.Match(valor, .Columns(col), 0)
        Set pdatos = .Rows(fila).Resize(cuenta)
        With pdatos
            pfila = .Rows.Count
            .Rows(pfila + 1).Resize(5).EntireRow.Insert
        End With
    Next j
End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas