¿Cómo usar la instrucción Randomize en VBA?

En VBA (Visual Basic for Applications), la instrucción Randomize se utiliza para inicializar el generador de números aleatorios con una nueva semilla. Esto significa que cada vez que ejecutas Randomize, los números generados por la función Rnd serán diferentes, lo que evita obtener la misma secuencia de números aleatorios cada vez que se ejecuta el código.

El uso básico de Randomize es sencillo, y generalmente se coloca justo antes de donde necesitas comenzar a generar números aleatorios. Aquí tienes un ejemplo de cómo usarlo:

VBA

Sub GenerarNumerosAleatorios()
    ' Inicializa el generador de números aleatorios.
    Randomize
    
    ' Genera y muestra un número aleatorio entre 0 y 1.
    Debug.Print Rnd
    
    ' Genera y muestra un número aleatorio entre 0 y 100.
    Debug.Print Int((100 * Rnd) + 1)
End Sub

En este ejemplo, al llamar a Randomize sin argumentos, VBA usa el reloj del sistema para proporcionar una nueva semilla. Si quieres tener un poco más de control sobre la secuencia de números aleatorios, también puedes pasar un número (que puede ser un valor de punto flotante) a Randomize para usarlo como semilla. Por ejemplo:

VBA

Sub GenerarConSemilla()
    ' Inicializa el generador de números aleatorios con una semilla específica.
    Randomize 123.456
    
    ' Genera y muestra un número aleatorio.
    Debug.Print Rnd
End Sub

Utilizar una semilla específica es útil si necesitas reproducir la misma secuencia de números aleatorios en diferentes ejecuciones del programa.

Recuerda que Rnd genera un número aleatorio en el rango de 0 (inclusive) a 1 (exclusivo), por lo que es común multiplicar el resultado y aplicar otras operaciones para obtener el rango deseado de números aleatorios.

También es importante tener en cuenta que sólo necesitas llamar a Randomize una vez en tu código antes de generar números aleatorios. No es necesario llamarlo antes de cada llamada a Rnd, a menos que realmente quieras reiniciar la secuencia aleatoria por alguna razón.

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

¡Únete a nuestro Grupo de Facebook!

Deja un comentario