VBA 무작위 화 | Randomize Statement를 사용하는 방법?

VBA에서 문 무작위 화

VBA Randomize 문은 RND 함수를 적용하기 전에 추가하는 간단한 한 줄 문입니다. 통합 문서를 다시 열 때마다 Randomize 문은 컴퓨터의 시스템 시간에 따라 RND 함수에 새 시드 번호를 제공합니다.

Randomize 문에 대해 이야기하기 전에 VBA를 사용한 간단한 RND 함수를 소개하겠습니다.

워크 시트 함수 "RAND"로서 VBA "RND"에서도 0보다 크지 만 1보다 작은 난수를 생성합니다.

이제 "RND"함수의 구문을 살펴보십시오.

[숫자] : 우리는 세 가지 방법으로 인수를 전달할 수 있습니다.

  • 숫자를 <0으로 전달하면 매번 같은 난수를 계속 생성합니다.
  • 숫자를 0으로 전달하면 가장 최근에 부여한 숫자를 반복합니다.
  • 0보다 큰 숫자를 전달하면 다른 난수, 즉 시퀀스의 다음 난수를 계속 제공합니다.

예를 들어 아래 코드를보십시오.

암호:

 Sub RND_Example () Debug.Print Rnd End Sub 

직접 창에서 코드를 실행하면 아래 숫자를 볼 수 있습니다.

마찬가지로이 코드를 3 번 ​​더 실행하면 아래 숫자를 볼 수 있습니다.

이제 통합 문서를 닫고 다시 엽니 다.

이제 Visual Basic Editor 창으로 돌아갑니다.

이제 즉각적인 창이 비어 있고 깨끗합니다.

이제 다시 코드를 네 번 실행하고 즉각적인 창에서 얻을 수있는 숫자가 무엇인지 확인합니다.

우리는 위에서 얻은 것과 같은 숫자를 얻었습니다.

파일을 다시 열 때마다 처음부터 같은 숫자를 얻는 경향이 있기 때문에 이것은 임의의 숫자처럼 보이지 않습니다.

그렇다면 통합 문서가 다시 열렸는지 여부에 관계없이 어떻게 난수를 생성합니까?

"Randomize"문을 사용해야합니다.

VBA Randomize 문을 사용하는 방법?

이 VBA Randomize Excel Template 여기에서 다운로드 할 수 있습니다 – VBA Randomize Excel Template

예 1

난수를 얻으려면 RND 함수 앞에 간단한 한 줄짜리“Randomize”를 추가하기 만하면됩니다.

암호:

 Sub Randomize_1 () Debug.Print Rnd End Sub 랜덤 화 

이제 코드를 4 번 실행하고 결과를 확인하겠습니다.

내 로컬 창에서 위의 숫자를 생성했습니다.

이제 파일을 닫고 파일을 다시 열겠습니다.

평소와 같이 시각적 기본 창에서 깨끗한 슬레이트로 시작합니다.

이제 코드를 다시 실행하고 이번에는 어떤 숫자를 얻었는지 확인하겠습니다.

와!!! 이번에는 다른 숫자를 얻었습니다.

RND 함수 앞에 Randomize 문을 추가했기 때문에 파일을 다시 열 때마다 다른 난수를 얻습니다.

이것은 임의의 숫자처럼 보이지 않습니까 ???

예제 # 2

1보다 큰 난수

우리가 본 것처럼 "RND"함수는 0에서 1까지의 숫자 만 생성 할 수 있습니다. 그러나 하나 이상의 난수를 생성하려면 워크 시트 함수 클래스에서 사용할 수있는 "RANDOM BETWEEN"을 사용해야합니다.

따라서 1보다 큰 난수를 생성하려면 아래 코드를 사용해야합니다.

암호:

 Sub Randomize_2 () Randomize Debug.Print Rnd * 100 End Sub 

이제 코드를 실행하고 결과를 확인하겠습니다.

이와 같이 VBA에서 "Randomize"문을 사용하여 Excel 파일을 다시 열 때마다 난수를 생성 할 수 있습니다.