VBA предоставляет функцию для возврата случайного значения. Вам не обязательно использовать эту функцию отдельно, но как часть более крупного макроса, который может потребовать использования случайных значений. Синтаксис функции следующий:

x = Rnd()

где x — результат. Возвращаемое значение всегда будет между 0 и 1. Чтобы преобразовать это в какое-нибудь другое случайное значение, все, что вам нужно сделать, это умножить результат на наибольшее число, которое вы хотите рассмотреть. Например, если вам нужно случайное целое число от 1 до 25, вы можете использовать следующую строку кода:

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

Поскольку Rnd всегда возвращает значение от 0 до 1 (но никогда не возвращает 1), умножение того, что он возвращает, на 25, а затем использование функции Int для этого результата вернет число от 0 до 24. Наконец, к этому результату добавляется 1, так что x будет равно числу от 1 до 25 включительно.

Если вам нужно случайное число с плавающей запятой, то простое удаление функции Int из этого кода не будет работать правильно. Вместо этого вам нужно изменить формулу следующим образом:

x = (Rnd() * 24) + 1

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (9751) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Determining_a_Random_Value [Определение случайного значения].