UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se puede subir archivos al foro, favor de hacerlo en servidor externo (Dropbox, Drive...) y dejan link. "Sin archivo no hay respuestas"

Favor de leer "Todos los temas" Click aquí.

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

antraxhol


Hola
Necesito generar 15 números aleatorios( 1-15) sin que se repitan, dentro del rango L6:AA21.....
Al ser el rango mayor a la cantidad de números,muchas celdas se tienen que quedar en blanco. La ubicación de los números también tiene que ser al azar.
Gracias.

excelboy

avatar
Hola @antraxhol!

Intenta con el siguiente código:

Código:
Option Explicit

Sub Aleatorios()
Dim rango As Range
Dim items As Integer

Set rango = Range("L6:AA21")
Debug.Print Time
Application.ScreenUpdating = False
While items <> 15
  GeneraAleatorios rango
  items = rango.SpecialCells(xlCellTypeConstants, xlNumbers).Count
Wend
Application.ScreenUpdating = True
Debug.Print Time
End Sub

Sub GeneraAleatorios(rango As Range)
Dim celda As Range
Dim i As Integer
Dim cache As String
Dim aux As String
Dim strTexto As String

strTexto = "x"
rango.Clear
rango.FormulaR1C1 = "=If(RandBetween(1, 3)=1,RandBetween(1, 15)," & """" & strTexto & """" & ")"

For i = 1 To 5
  Application.Calculate
Next

rango.Value = rango.Value

On Error Resume Next
rango.SpecialCells(xlCellTypeConstants, 2).Clear
On Error GoTo 0

For Each celda In rango
  If celda <> "" Then
    aux = "-" & celda & "-"
    If InStr(1, cache, celda & "-", vbTextCompare) = 0 Then
      cache = cache & celda & "-"
    Else
      celda.Clear
    End If
  Else
  End If
Next
End Sub

Saludos!

http://mexcelmx.blogspot.mx/

Igtelo

avatar
Hola Excelboy.

Me da pena contigo, ví tus estadísticas y siempre que les solucionas "sus problemas" no te contestan (que poca...).

Te agradezco tu solución y tiempo.

Saludos
Ignacio Téllez

excelboy

avatar
Hola @Igtelo,

Así suele pasar, ni siquiera se toman la molestia en en comentar. Lo bueno de esta aportación es que me sirvió como entrenemiento además de que puedo aplicarlo a mis propias necesidades.

Saludos!

http://mexcelmx.blogspot.mx/

Igtelo

avatar
Hola Excelboy.

Si tristemente pulula una buena cantidad de ellos por acá...
No te desmotives, porque yo, como que ya no aguanto...Échame la mano, lo mismo le pedí a Ateneo.

Saludos
Ignacio Téllez

excelboy

avatar
Hola Igtelo,

Apoyare con gusto en lo que se pueda, la verdad ya con trabajo de freelance me queda poco tiempo libre y todavía tener que aprender nuevas cosas. Pero animo no te desanimes, tómalo con calma!

Saludos!

http://mexcelmx.blogspot.mx/

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.