Visual Basic - Excel,, Generar números aleatorios en un rango

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Excel,, Generar números aleatorios en un rango

Publicado por Alekcei (2 intervenciones) el 14/05/2018 08:11:36
Hola
Necesito generar 15 números aleatorios 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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de gilman
Val: 594
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Excel,, Generar números aleatorios en un rango

Publicado por gilman (359 intervenciones) el 16/05/2018 08:20:00
Esto es VBA, publicalo en el foro correspondiente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Excel,, Generar números aleatorios en un rango

Publicado por Alekcei (2 intervenciones) el 16/05/2018 08:32:48
no es Visual Basic?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.259
Plata
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Excel,, Generar números aleatorios en un rango

Publicado por Antoni Masana (558 intervenciones) el 16/05/2018 12:00:03
La Macro:

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
Option Explicit
 
Sub Crear_Numeros()
    Dim Tabla(15) As Integer, a As Integer, b As Integer, _
        Existe As Boolean, Pun As Integer, Num As Integer, _
        Lin As Integer, Col As Integer
 
    Randomize Timer: Pun = 0
    For a = 1 To 15
        Num = Int(Rnd * 1000) + 1: Existe = False
        For b = 1 To Pun
            If Tabla(b) = Num Then Existe = True
        Next
        If Not Existe Then Pun = Pun + 1: Tabla(Pun) = Num
    Next
 
    Pun = 1
    While Pun < 15
        Lin = Int(Rnd * 16) + 6
        Col = Int(Rnd * 16) + 12
        If Cells(Lin, Col) = "" Then
           Cells(Lin, Col) = Tabla(Pun): Pun = Pun + 1
        End If
    Wend
End Sub

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar