Я ищу альтернативный RandBetween, который имеет точно такую же функцию, но остается постоянным. Я искал макрос, который мог бы сделать именно это, и я подумал, что нашел один ...

Function RndInt(lowerbound As Integer, upperbound As Integer) As Integer
Static AlreadyRandomized As Boolean

If Not AlreadyRandomized Then

Randomize

AlreadyRandomized = True

End If
RndInt = Int(lowerbound + Rnd() * (upperbound - lowerbound + 1))
End Function

После его тестирования, похоже, проблема в том, что функция не выбирает между ячейками, а принимает только значения верхних и нижних ячеек и не функционирует как функция RandBetween, где вы можете объединить верхнюю и нижнюю ячейки и он будет выбирать из всех ячеек между этими двумя ячейками:/

1 ответ1

0

Ваш опубликованный VBA делает именно то, что вы описали (RANDBETWEEN выбирает из диапазона номеров, а не из диапазона ячеек), возможно, вам следует использовать его по-другому:

=INDEX(A1:X1,RndInt(1,COLUMNS(A1:X1))
где A1 и X1 - первые и последние ячейки в вашем диапазоне

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .