Generar números aleatorios
Publicado por FernandoML (12 intervenciones) el 28/02/2020 01:58:50
Hola a todos:
Estoy intentando hacer un programa para lo que necesito generar 22 números aleatorios que van del 0 al 21. Tengo un código el cual me fallla y me gustaría si es posible que me recomendeis como modificarlo para que funcione.
El fallo que tengo es el siguiente:
Cuando se genera un número de forma aleatoria y me sale por ejemplo el 17 y posteriormente me sale el 7, me dice que ya existe. Esto genera un bucle sin fin.
Espero me podais ayudar
Muchas gracias a todos
Estoy intentando hacer un programa para lo que necesito generar 22 números aleatorios que van del 0 al 21. Tengo un código el cual me fallla y me gustaría si es posible que me recomendeis como modificarlo para que funcione.
El fallo que tengo es el siguiente:
Cuando se genera un número de forma aleatoria y me sale por ejemplo el 17 y posteriormente me sale el 7, me dice que ya existe. Esto genera un bucle sin fin.
Espero me podais ayudar
Muchas gracias a todos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Sub GenerarAleatorios()
Dim Aleatorio, LimiteInferior, LimiteSuperior, X As Byte
Dim CantidadTotal As Integer
Dim Registro As String
Dim Matrix() As String
Randomize
LimiteInferior = 1
LimiteSuperior = 49
CantidadTotal = 6
While X < CantidadTotal
Aleatorio = Int((LimiteSuperior - LimiteInferior + 1) * Rnd + LimiteInferior)
If InStr(1, Registro, Aleatorio) = 0 Then
Registro = Registro & Aleatorio & ";"
X = X + 1
End If
Wend
Registro = Left(Registro, Len(Registro) - 1)
Matrix() = Split(Registro, ";")
Columns("A:A").EntireColumn.ClearContents
For X = 0 To UBound(Matrix)
Cells((X + 1), 1).Value = Matrix(X)
Next X
Erase Matrix
End Sub
Valora esta pregunta


0