Contenido
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:
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:
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.