Excel VBA: 중복이 없는 난수 생성기(예제 4개)

  • 이 공유
Hugh West

이 기사는 Excel에서 VBA를 사용하여 중복이 없는 난수 생성기 의 4가지 예를 설명합니다. 여기서는 Excel의 기본 제공 Rnd 함수를 사용하여 코드를 구성합니다. 고유한 난수를 생성하는 기술을 배우기 위해 예제를 자세히 살펴보겠습니다.

연습 워크북 다운로드

이 기사를 읽는 동안 실습할 연습 워크북을 다운로드하세요.

중복이 없는 난수 생성기.xlsm

4 Excel VBA에서 중복이 없는 난수 생성기의 예

Visual Basic Editor에서 코드 작성

중복 없이 난수를 생성 하려면 열고 VBA를 작성해야 합니다. 비주얼 베이직 편집기의 코드 . 단계 에 따라 비주얼 기본 편집기 를 열고 여기에 코드를 작성합니다.

  • <1로 이동 Excel 리본 의>개발자 탭.
  • Visual Basic 옵션을 클릭합니다.

  • Visual Basic For Applications 창에서 삽입 드롭다운 을 클릭하여 새 모듈을 선택합니다. 옵션.

이제 코드 비주얼 코드 편집기 에 넣고 F5를 누르십시오. 실행 합니다.

1. VBA Rnd 함수를 사용하여 중복되지 않는 난수 생성

Rnd 함수 Excel VBA 에서 <1까지 사용됩니다>0 사이의 난수를 생성합니다. 및 1개 배타적.

작업 : 0 ~ 1 사이의 10개의 난수 생성 셀 A1:A10.

Code : 비주얼 베이직 에디터 에 다음 코드 삽입하고 F5를 누릅니다. 실행 합니다.

3214

출력 : 위 스크린샷은 10개의 고유 난수<2를 보여줍니다> 범위 0과 1.

코드 설명:

이 코드에서는 Rnd 함수 <2를 사용했습니다> 셀 범위 A1:A10 난수 를 삽입합니다. 새 번호 를 삽입하기 전에 Do While 루프 를 사용하여 에서 번호 찾았습니다. 1>사전 정의된 셀 범위(A1:A10) 이미 존재 하거나 아님 . 셀 범위 숫자 존재 하는지 COUNTIF함수 로 코드를 구성했는데, 이 함수는 삽입하기 전에 이미 존재하는 숫자의 목록 에서 새 난수 를 확인합니다.

자세히 보기 : 난수를 생성하는 Excel 수식(예제 5개)

2. 중복이 없는 정의된 하한 및 상한을 위한 난수 생성기

정의된 범위 내에서 난수를 생성하려면 다음을 수행해야 합니다. VBA 코드에서 하한 상한 를 설정합니다. 참고로 하한 최저 숫자 이고 상한 는 난수 생성기의 범위 에서 가장 높은 숫자 입니다. 코드에서 다음 공식 을 사용할 수 있습니다.

(상한 – 하한 + 1) * Rnd + 하한

2.1 임의 숫자 생성기- Decimal

Task : 10 에서 20 사이의 10개의 난수 를 <1에서 생성합니다>셀 A1:A10.

코드 : 비주얼 베이직 편집기 에 다음 코드 삽입하고 F5를 누릅니다. 실행 합니다.

5324

출력 : 위의 스크린샷은 10개의 고유 난수<2를 보여줍니다> 1과 10의 범위.

2.2 난수 생성기 - 정수

이 그림에서는 VBA Int 함수 임의의 숫자 에서 소수 부분 제거합니다.

작업 : 셀 A1:B10에서 1 20 사이에 20개의 임의의 정수를 생성합니다.

코드 : 비주얼 베이직 편집기 에 다음 코드 삽입하고 F5를 누릅니다. 실행 합니다.

5859

출력 : 위의 스크린샷은 20개의 고유한 임의의 정수<를 보여줍니다. 2> 1과 20의 범위.

자세히 보기: 반복이 없는 Excel의 난수 생성기(9가지 방법)

유사 읽기

  • 데이터 분석 도구와 Excel의 기능을 갖춘 난수 생성기
  • 방법 Excel에서 무작위 데이터 생성(9쉬운 방법)
  • 엑셀에서 임의의 5자리 숫자 생성기(예시 7개)
  • 엑셀에서 임의의 4자리 숫자 생성기(예시 8개)
  • 엑셀 목록에서 난수 생성 (4가지 방법)

3. Excel VBA에서 고유한 난수 생성기의 소수 자릿수 지정

코드에서 라운드 함수 를 사용하여 다음을 지정할 수 있습니다. 무작위로 생성된 고유 번호 소수점 숫자 입니다. 함수의 구문 는-

Round(expression, [numdecimalplaces])

를 지정해야 합니다. 요구 사항 에 따른 두 번째 인수 .

작업 : 소수점 이하 2자리 <1 사이의 난수 20개 생성>1 및 20 셀 A1:B10.

코드 : 비주얼 베이직 편집기 에 다음 코드 삽입하고 F5를 누릅니다. 실행 합니다.

6443

출력 : 위 스크린샷은 20개의 고유 임의 정수를 보여줍니다. 1과 20의 범위에서 소수점 2자리 .

자세히 알아보기: 소수점을 사용하여 Excel에서 난수 생성(3가지 방법)

4. Excel VBA에서 중복되지 않는 난수 생성기용 사용자 양식 개발

이 그림에서는 사용자 양식 에서 사용하는 방법을 보여줍니다>Excel VBA 에서 중복이 없는 난수를 생성합니다.

작업: 생성 입력 값 (i) 하한값 (ii)이 있는 사용자 양식 을 사용하는 셀 범위 A1:B10 의 20개 난수 상한 (iii) 소수점 이하 자릿수.

사용자 양식 만들기:

원하는 입력 필드 로 ​​ 사용자 양식 을 만들려면 아래 단계를 따르십시오. .

  • Excel 리본 에서 개발자 탭으로 이동합니다.
  • Visual 기본 옵션.

  • Visual Basic For Applications 창에서 삽입 드롭다운 <2을 클릭합니다> 사용자 양식 옵션을 선택합니다.

  • 사용자 양식에 를 추가합니다. a 레이블 .
  • 속성에서 레이블 LowerBound 로 캡션합니다.

  • Upperbund DecimalPlaces 라는 두 개의 레이블 을 추가합니다.

  • 이제 사용자 양식 세 개의 텍스트 상자 를 추가합니다.

  • 이 단계에서 CommandButton 을 추가하고 이름을 Generate 로 지정합니다.

  • 이제 명령 버튼 을 두 번 클릭하고 다음 코드 코드 편집기 에 입력합니다.
3893

  • F5 를 눌러 실행 코드 사용자 양식 나타났습니다 .
  • 하한 , 상한, 숫자 < 사용자 양식 소수점 중 2> 생성Button .

Output : 셀 A1:B10 에는 20개의 무작위 숫자 ( 소수점 이하 2자리 1~30 범위).

자세히 보기: 엑셀에서 중복 없이 난수를 생성하는 방법(7가지 방법)

기억할 사항

  • Int 함수 대신 함수 를 수정하여 고유한 정수를 생성합니다 . 함수 Int 함수 와 마찬가지로 숫자 소수 부분 을 제거합니다.

결론

이제 적절한 예제를 통해 Excel에서 VBA를 사용하여 고유한 난수를 생성하는 방법을 알았습니다. 기능을 보다 자신 있게 사용하는 데 도움이 되기를 바랍니다. 질문이나 제안 사항이 있으시면 아래 댓글 상자에 남겨주세요.

Hugh West는 업계에서 10년 이상의 경험을 가진 고도로 숙련된 Excel 트레이너이자 분석가입니다. 그는 회계 및 재무 학사 학위와 경영학 석사 학위를 보유하고 있습니다. Hugh는 교육에 대한 열정을 가지고 있으며 따라하기 쉽고 이해하기 쉬운 독특한 교수법을 개발했습니다. Excel에 대한 그의 전문 지식은 전 세계 수천 명의 학생과 전문가가 자신의 기술을 향상시키고 경력에서 탁월하도록 도왔습니다. Hugh는 자신의 블로그를 통해 자신의 지식을 전 세계와 공유하고 개인과 기업이 잠재력을 최대한 발휘할 수 있도록 무료 Excel 자습서 및 온라인 교육을 제공합니다.