Macro para ordenar datos alfanuméricos

Necesito un apoyo deseo hacer una macro que me pueda ordenar datos alfanuméricos, tengo un campo con datos y que se orden de menos a mayor la que uso normalmente no me ordena como deseo debería de quedar en este orden.

1Mbps

2Mbps

10Mbs

12Mbps

20Mbps

1 respuesta

Respuesta
2

Esta es la imagen inicial de los datos como ves están todos desordenados

y este es el resultado de la macro ya ordenados

y esta es la macro 

Sub ordenar()
Set datos = Range("a1").CurrentRegion
With datos
    filas = .Rows.Count
    For i = 1 To filas
        .Cells(i, 2) = Split(.Cells(i, 1), "mbps")
    Next i
End With
With datos.CurrentRegion
    .Sort key1:=Range(.Columns(2).Address), order1:=xlAscending
    .Columns(2).Clear
End With
Set datos = Nothing
End Sub

Ignora la macro anterior tiene un error, usa esta macro hace el ordenamiento como lo ocupas

Sub ordenar()
Set datos = Range("a1").CurrentRegion
With datos
    filas = .Rows.Count
    For i = 1 To filas
        .Cells(i, 2) = Split(.Cells(i, 1), "mbps")
        .Cells(i, 2) = Val(.Cells(i, 2))
    Next i
End With
With datos.CurrentRegion
    .Sort key1:=Range(.Columns(2).Address), order1:=xlAscending
    .Columns(2).Clear
End With
Set datos = Nothing
End Sub

¡Gracias! si me funciona bien el problema es que me elimina los valores que tengo en las otras columnas, como se podría evitar que elimine los demás valores

Por eso es importante subir una imagen de tus datos yo asumí que solo tenias una columna y en base a programe, sube una imagen de trus datos para modificar la macro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas