목차
이 기사는 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를 사용하여 고유한 난수를 생성하는 방법을 알았습니다. 기능을 보다 자신 있게 사용하는 데 도움이 되기를 바랍니다. 질문이나 제안 사항이 있으시면 아래 댓글 상자에 남겨주세요.