Использование RandBetween для заполнения диапазона ячеек

Я хочу создать диапазон случайных чисел в ячейках A1:C6, используя RandBetween функция.

Когда я пытаюсь этот код

Range("A1:C6") = WorksheetFunction.RandBetween(10, 1000)

каждая ячейка заполнена одинаковым номером.

Что мне не хватает?

2 ответа

Попробуй это:

With Range("A1:C6")
    .Formula = "=RANDBETWEEN(10,1000)"
    .Calculate
    .Value = .Value
End With

где .Value = .Value Часть переписывает формулы с их значениями.

Каждая ячейка получает одно и то же значение, потому что вы вызываете случайную функцию только один раз. Вам нужно вызвать функцию Random один раз для каждой ячейки, например так:

For Each c In Worksheets("Tabelle1").Range("A1:D6").Cells
    c.Value = (Round((Rnd() * 990) + 10))
Next
Другие вопросы по тегам