VBA proporciona una función para devolver un valor aleatorio. No necesariamente usaría esta función por sí sola, sino como parte de una macro más grande que puede requerir el uso de valores aleatorios. La sintaxis de la función es la siguiente:

x = Rnd()

donde x es el resultado. El valor devuelto siempre estará entre 0 y 1. Para traducir esto a algún otro valor aleatorio, todo lo que necesita hacer es multiplicar el resultado por el número más alto que desee considerar. Por ejemplo, si quisiera un número entero aleatorio entre 1 y 25, podría usar la siguiente línea de código:

x = Int(25 * Rnd()) + 1

Dado que Rnd siempre devuelve un valor entre 0 y 1 (pero nunca 1), multiplicar lo que devuelve por 25 y luego usar la función Int en ese resultado devolverá un número entre 0 y 24. Finalmente, se agrega 1 a este resultado, de modo que x será igual a un número entre 1 y 25, inclusive.

Si desea un número de punto flotante aleatorio, simplemente eliminar la función Int de este código no funcionará correctamente. En su lugar, deberá modificar la fórmula de esta manera:

x = (Rnd() * 24) + 1

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (9751) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Determining_a_Random_Value [Determinación de un valor aleatorio].