Saltar al contenido
View in the app

A better way to browse. Learn more.

Ayuda Excel

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Macro para ordenar datos de forma aleatoria

publicado

Buenos días a todos;

-A ver si es posible una ayudita vuestra.

Adjunto una macro donde en las columna A:C tengo unos datos que están ordenados de en la columna A de menor a mayor.

Necesito crear si es posible una macro para que me ordene esos datos pero de forma aleatoria, ¿sería posible?.

Un saludo y buena semana a todos.

 

 

MAleatorio.xlsm

Featured Replies

publicado

¿Ordenar de forma aleatoria?, o sea, desordenar. ¿No??

Lo miro luego, que ahora he de ir a pasar la ITV.

publicado
  • Autor

Correcto. 

¿Cuál te toca, la de los 25?.

Cuidado con estos de la Itv que sólo te dan un año?.

Gracias 

publicado
  • Autor
Hace 22 horas, Antoni dijo:

¿Ordenar de forma aleatoria?, o sea, desordenar. ¿No??

Lo miro luego, que ahora he de ir a pasar la ITV.

Hola e bo día Antoni;

Me imagino que te has olvidado (?) o es que no se puede (?).

Sólo era por saber si se puede o no.

 

Un abrazo.

publicado
  • Autor
Hace 2 horas, Antoni dijo:

? ? ? Se me olvidó subir el archivo.

MAleatorio.xlsm 16.25 kB · 0 descargas

Hola Antoni, si está muy bien pero me gustaba que el el resultado se ponga en la columna "A" y no en la "F".

Es más sólo me interesa que se desordene la columna "A", en el ejemplo no me dí cuenta y te puse el desorden por línea. 

¿Sería posible o es mucho pedir?.

Muchas gracias Antoni. 

 

 

publicado
Sub Desordenar()
Application.ScreenUpdating = False
Range("A:C").Copy Range("F:H")
Columns("D").Clear
x = Range("A" & Rows.Count).End(xlUp).Row
filas = 2
Do Until filas > x
   fila = Int(Rnd * x) + 1
   If fila > 1 Then
      If Range("D" & fila) = "" Then
         Range("D" & fila) = "x"
         Range("A" & fila).Resize(1, 3).Copy Range("F" & filas)
         filas = filas + 1
      End If
   End If
Loop
Range("F:I").Cut Range("A:D")
End Sub

Peo mejor usar la macro de Gerson.

Editado el por Antoni

publicado
  • Autor
Hace 1 hora, Gerson Pineda dijo:

Hola!

Tomando de base tu archivo, ahí te va esta versión

Sub DesOrdenar()

With Range("A2", Range("A1").End(xlDown)).Offset(, 3)
    .Formula = "=Rand()"
    Range("A1").Sort Range("D1"), xlAscending, , , , , , xlYes
    .ClearContents
End With

End Sub

 

Saludos a ambos!

Gerson, perfecta la macro. 

Guay me encantó. 

Te lo agradezco muchísimo. 

Un abrazo ?  ?  ? 

publicado
  • Autor
Hace 21 minutos , Antoni dijo:
Sub Desordenar()
Application.ScreenUpdating = False
Range("A:C").Copy Range("F:H")
Columns("D").Clear
x = Range("A" & Rows.Count).End(xlUp).Row
filas = 2
Do Until filas > x
   fila = Int(Rnd * x) + 1
   If fila > 1 Then
      If Range("D" & fila) = "" Then
         Range("D" & fila) = "x"
         Range("A" & fila).Resize(1, 3).Copy Range("F" & filas)
         filas = filas + 1
      End If
   End If
Loop
Range("F:I").Cut Range("A:D")
End Sub

Peo mejor usar la macro de Gerson.

Gracias Antoni,  pensé que no se podía. 

Al igual  que  a Gerson, muy agradecido a los dos. Sois unos craks.

Un abrazo e un pouco de fresco?, por lo menos aquí en las Rías Baixas.

Archivado

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.