Crear macro que ordene datos repetidos alfabéticamente y luego inserte filas en blanco separando en grupos los datos repetidos

Tengo una columna de nombre que se repiten, necesito crear macro que ordene esos nombres repetidos alfabéticamente, y luego inserte filas en blanco separando en grupos los nombres repetidos.

Ana, carlos, alberto, ana, carlos, alberto, jose, pedro, jose, pedro ( datos en columna). Me ordene ana con ana, alberto con alberto, carlos con carlos, Jose con jose y pedro con pedro y separe a cada grupo de nombres repetidos con una fila en blanco.

2 Respuestas

Respuesta
1

Prueba con esta macro

Sub ORDENAR_E_INSERTAR_FILA()
Set DATOS = Range("A1").CurrentRegion
With DATOS
    C = .Columns.Count: R = .Rows.Count
    .Sort KEY1:=Range(.Columns(1).Address), ORDER1:=xlAscending
    .Columns(C + 3).CurrentRegion.ClearContents
    Set UNICOS = .Columns(C + 3).Resize(R, C)
End With
With UNICOS
    .Value = DATOS.Value
    .RemoveDuplicates Columns:=1
    MATRIZ = .CurrentRegion
    For I = 1 To .CurrentRegion.Rows.Count
        NOMBRE = MATRIZ(I, 1)
        INDICE = WorksheetFunction.Match(NOMBRE, DATOS.Columns(1), 0)
       If I > 1 Then DATOS.Cells(INDICE, 1).EntireRow.Insert: DATOS.Cells(INDICE, 1).Select
    Next I
    .ClearContents
End With
Set DATOS = Nothing: Set UNICOS = Nothing
End Sub

¡Gracias! 

Por tu respuesta! Me tira este error, 

se ha producido error 1004 en tiempo de ejecución

no se puede obtener la propiedad Match de la clase WorksheetFunction 

inserta una parte de la lista y tira ese mensaje dejando el resto sin insertar

Respuesta
2

Te anexo la macro

Sub Macro1()
'Por Dante Amor
    Range("A1").CurrentRegion.Sort Key1:=Range("A:A"), Header:=xlYes
    For i = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
        If ant <> Cells(i, "A").Value Then Rows(i + 1).Insert Shift:=xlDown
        ant = Cells(i, "A").Value
    Next
End Sub


[Saludos. Dante Amor. No olvides valorar la respuesta.

[Avísame cualquier duda.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas