VBA 중복되지 않는 랜덤값(숫자) 구하기
VBA에서 int(Rnd * 5) 하면 0부터 4까지의 랜덤 숫자가 나온다. 1부터 5까지로 하려면Rnd*4+1로 해서 0부터 4까지 나온 수에 1을 더하면 된다. 그런데 랜덤 숫자는 바로 전에 나온 숫자와 중복된 숫자가 나올 수도 있다.이를 방지하는 방법을 생각해보자. 그저 단순히 이전 랜덤값을 저장했다가 비교할 수도 있지만중복된 수를 원천적으로 차단할 수는 없다. 그래서 배열을 이용해본다.5개의 배열에 1부터 5까지를 넣어 두고랜덤으로 배열을 섞어주는 것이다.어떤 값을 가진 배열들을 서로 섞는 것이라 중복된 수가 나올 수가 없다. 1부터 5까지의 수중에서 랜덤으로 추출한다고 가정하고소스 일부분을 보자 Private Num() As IntegerPrivate CurIndex As IntegerConst..
VBA Tipz
2016. 11. 22. 16:57
최근댓글