Saltar al contenido

Ordenar de números a letras.


CarlosKurt

Recommended Posts

publicado

Hola como estas?

Bueno les pido que por favor me ayudaran con algún codigo "VBA para excel" en ordenar una fila de datos (códigos) de manera ascendente por ejemplo:

0001345

00012

0173

100-1A

100-1AC

120-A

2002

2A00

Y asi sucesivamente.

Les adjunto el archivo de los datos que realmente quiero ordenar. En la columna "B" coloque la idea de como empezar a ordenar.

ORDENAR.xls

publicado

.

Esta macro ordena la columna A, primero la parte numérica y luego el resto, dejando el resultado en la columna B. Se usa el rango (IU:IV) como rango de trabajo.

Sub Ordenar()
Application.ScreenUpdating = False
Range("IU:IV").Clear
For x = 2 To Range("A1").End(xlDown).Row
valor = CStr(Range("A" & x))
For y = 1 To Len(valor)
If Not IsNumeric(Mid(valor, y, 1)) = True Then Exit For
Next
fila = fila + 1
If y = 1 Or y > Len(valor) Then
Range("IU" & fila) = valor
Else
Range("IU" & fila) = Left(valor, y - 1)
Range("IV" & fila) = Mid(valor, y)
End If
Next
Range("IU:IV").Sort key1:=Range("IU:IV")
Range("B:B").ClearContents
For x = 2 To Range("A1").End(xlDown).Row
Range("B" & x) = Range("IU" & x - 1) & Range("IV" & x - 1)
Next
Range("IU:IV").Clear
End Sub
[/CODE]

.

publicado

Hola Macro Antonio.

Muchas gracias por tu tiempo en ayudarme incondicionalmente.

Bueno el código no es lo que realmente necesitaría para resolver el tema. Sin embargo lo solucione "convirtiendo" los datos a "texto" y "ordenarlos" de manera descendente sin tomar en cuenta aquellos datos que empiezan con cero "0" ya que esto último, si los tomaría en cuenta, me genera que aquellos números que están es su forma de "texto" se borran los 0 (cero). Bueno de esa manera quedo resuelto el tema.

Por lo tanto Tema Cerrado.

Muchas gracias.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.