Microsoft Excel에서 3 개 고유 한 임의의 번호를 생성
_ 고유 난수 목록을 생성하려면 RANDBETWEEN 함수 및 VBA RND를 사용할 수 있습니다. 이 기사에서는 제공된 목록에서 3 개의 고유 번호를 생성합니다 ._
원래 질문 http://www.excelforum.com/excel-programming-vba-macros/1093315-vba-for-do-while-loop.html [여기]
질문 : 매크로가 A 열에 저장된 숫자 목록에서 3 개의 난수 목록을 생성하고 싶습니다. VBA 코드를 처리해야하는 조건이 있습니다. 조건은 B 열에 3 개의 숫자가 존재하므로 매크로는 B 열에 한 번도 발생하지 않은 숫자 목록을 만들어야합니다. 이런 방식으로 B & C 열에 고유 한 숫자 목록을 가질 수 있습니다.
다음은 우리가 가지고있는 예제의 스냅 샷입니다.
===
고유 한 난수 목록을 얻으려면 VB 편집기를 시작하려면 아래 단계를 따라야합니다. 개발자 탭을 클릭합니다. 코드 그룹에서 Visual Basic을 선택합니다.
-
표준 모듈에 아래 코드 복사
Sub RandomNumbers() Dim ws As Worksheet Dim ar As Variant Dim RandomNum As Long Dim i As Integer Dim myVal As Long Randomize Set ws = ThisWorkbook.Sheets("Numbers") With ws ar = .Range("A" & Rows.Count).End(xlUp).Row .Range("C1:C3").ClearContents For i = 1 To 3 Do RandomNum = Int((1 - ar + 1) * Rnd + ar) myVal = .Range("A" & RandomNum).Value Loop Until Range("B1:C24").Find(what:=myVal, lookat:=xlWhole) Is Nothing .Range("C" & i).Value = myVal Next i End With End Sub
매크로를 실행하려면 Visual Basic Editor의 화면에서 활성 상태 인 경우 키보드에서 F5 키를 누를 수 있습니다. 매크로를 실행하는 또 다른 방법은 “ALT + F8″키를 사용하는 것입니다. 매크로를 선택하고 실행 버튼을 클릭
-
VBA 코드를 실행하면 고유 번호 목록이 자동으로 생성됩니다.
코드 설명 :
위의 코드에서 우리는 결과를 얻기 위해 For loop & Do 루프와 함께 RND & INT 함수를 사용할 것입니다.
-
우리는 Dim ws를 Worksheet로 선언합니다. ws를 Worksheet로 선언하는 목적은 코드가 특정 워크 시트에서만 실행되기를 원한다는 것입니다.
이 예제의 숫자 Dim RandomNum As Long : 고유 한 숫자를 저장합니다. Set ws = ThisWorkbook.Sheets ( “Numbers”) :이 줄은 코드가 Numbers 시트에서만 실행되도록합니다. 다음 코드 줄은 With 문을 사용합니다. ar = .Range ( “A”& Rows.Count) .End (xlUp) .Row :이 줄은 A 열의 마지막 셀을 저장합니다 (이 예에서는 24)
_ 블로그가 마음에 들면 Facebook에서 친구들과 공유하세요. Twitter와 Facebook에서도 팔로우 할 수 있습니다 ._
_ 우리는 여러분의 의견을 듣고 싶습니다. 우리가 작업을 개선, 보완 또는 혁신하고 더 나은 서비스를 제공 할 수있는 방법을 알려주십시오. [email protected]_로 문의 해주세요