como puedo ordenar un listado de palabras en forma aleatoria?

11/09/2004 - 23:37 por Miguel Angel | Informe spam
Necesito ordenar (o desordenar en realidad)un listado de palabras ordenado
alfabeticamente,en forma aleatoria,es decir desordenarlo,como puedo
hacerlo,necesitaria poder mezclar los numeros de las filas,para que el
contenido se desordene.Gracias
 

Leer las respuestas

#1 Héctor Miguel
12/09/2004 - 08:04 | Informe spam
hola, Miguel Angel !

Necesito ... desordenar ... un listado de palabras ordenado alfabeticamente, en forma aleatoria [...]



-> selecciona el rango del listado [puede ser de una o mas columnas] y...
la siguiente macro [espero que] 'hara' lo que necesitas ;)
si no 'te gusta' el orden 'resultante'... 'le repites' la macro... o vuelves a ordenar 'alfabetico' :))

saludos,
hector.
en un modulo de codigo 'normal' ==Sub Des_Ordenar_Seleccion()
Dim Elementos As Long, Fila As Long, Ceros As String, _
Orden As New Collection, Temp
Application.ScreenUpdating = False
With Selection
Elementos = .Rows.Count
Ceros = String(Len(CStr(Elementos)), "0")
Do: On Error Resume Next
Temp = Int((Rnd * Elementos) + 1)
Orden.Add Temp, CStr(Temp)
Loop Until Orden.Count = Elementos
For Fila = 1 To Elementos
.Cells(Fila, 1) = Format(Orden.Item(Fila), Ceros) & .Cells(Fila, 1)
Next: .Sort Key1:=.Cells(1, 1), Order1:=xlAscending
For Fila = 1 To Elementos
.Cells(Fila, 1) = Mid(.Cells(Fila, 1), Len(CStr(Elementos)) + 1)
Next
End With
End Sub

Preguntas similares