_ 고유 난수 목록을 생성하려면 RANDBETWEEN 함수 및 VBA RND를 사용할 수 있습니다. 이 기사에서는 제공된 목록에서 3 개의 고유 번호를 생성합니다 ._

질문 : 매크로가 A 열에 저장된 숫자 목록에서 3 개의 난수 목록을 생성하고 싶습니다. VBA 코드를 처리해야하는 조건이 있습니다. 조건은 B 열에 3 개의 숫자가 존재하므로 매크로는 B 열에 한 번도 발생하지 않은 숫자 목록을 만들어야합니다. 이런 방식으로 B & C 열에 고유 한 숫자 목록을 가질 수 있습니다.

다음은 우리가 가지고있는 예제의 스냅 샷입니다.

img1

===

고유 한 난수 목록을 얻으려면 VB 편집기를 시작하려면 아래 단계를 따라야합니다. 개발자 탭을 클릭합니다. 코드 그룹에서 Visual Basic을 선택합니다.

img2

  • 표준 모듈에 아래 코드 복사

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

img3

매크로를 실행하려면 Visual Basic Editor의 화면에서 활성 상태 인 경우 키보드에서 F5 키를 누를 수 있습니다. 매크로를 실행하는 또 다른 방법은 “ALT + F8″키를 사용하는 것입니다. 매크로를 선택하고 실행 버튼을 클릭

img4

  • VBA 코드를 실행하면 고유 번호 목록이 자동으로 생성됩니다.

img5

코드 설명 :

위의 코드에서 우리는 결과를 얻기 위해 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)

Range ( “C1 : C3”). ClearContents :이 줄은 C1 : C3 범위의 기존 콘텐츠를 지 웁니다. 다음으로, Do Loop를 사용하여 1 ~ 3 번 For 루프를 실행하여 난수 목록을 생성하고 중복이 없는지 확인합니다. 기존 범위, 즉 열 B에서 결론 : 위의 VBA 코드에서 smalltweaking을 사용하여 Microsoft Excel의 목록에서 고유 한 난수 목록을 생성 할 수 있습니다.

image 48

_ 블로그가 마음에 들면 Facebook에서 친구들과 공유하세요. Twitter와 Facebook에서도 팔로우 할 수 있습니다 ._

_ 우리는 여러분의 의견을 듣고 싶습니다. 우리가 작업을 개선, 보완 또는 혁신하고 더 나은 서비스를 제공 할 수있는 방법을 알려주십시오. [email protected]_로 문의 해주세요