VBA Excel - генерирует реальные случайные числа, которые проверяют, есть ли результат в заданном диапазоне - PullRequest
0 голосов
/ 13 сентября 2018

Я использую следующую функцию для создания случайного числа и проверки, находится ли полученное целое число в заданном диапазоне:

Function RandBetweenInt(Lowest As Long, Highest As Long, Exclude As Range) As Long
  Dim R As Long
  Dim C As Range

  Do
    R = Lowest + Int(Rnd() * (Highest + 1 - Lowest))
    For Each C In Exclude
      If R = C Then Exit For
    Next C
  Loop Until C Is Nothing

  RandBetweenInt = R
  Application.Volatile
End Function

После вызова функции RandBetweenInt(0, 999, tgt.Range("K1:K1000")) результат верный, но я вижу, что результирующее число всегда одинаково (например, 705), если я просто закрываю файл и открываю его снова, так что реального случайного генерирования не происходит , Даже если я создаю последовательные случайные числа, последовательность, кажется, всегда одинакова (705, 332, 107 ...).

Для меня действительно важно, чтобы каждый раз, когда я создавал случайное число, результат был действительно случайным. У вас есть подсказка?

...