나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 dew (dewdrop)

추천:  2
파일:     조회:  1695
제목:   [RE]1에서 20까지 숫자 난수방법
     
  20개의 칸에 1-20까지의 숫자가 겹치거나 빠지는 숫자없이 

난수로 나타나게 할 방법이 있을까요? 





==============[호랑나비님 글에 대한 답변입니다]==============

Sub userRandom()
    Dim iX As Integer, iy As Integer, iRnd As Integer
    Dim vArray(1 To 20)
    Dim bX As Boolean
    Dim LowerBound As Integer, UpperBound As Integer
    
    LowerBound = 1: UpperBound = 20
   
    iX = 1
    Do While True
        iRnd = Int(Rnd * (UpperBound - LowerBound + 1) + LowerBound)
        bX = True
        For iy = 1 To 20
            If vArray(iy) = iRnd Then bX = False: Exit For
        Next
        
        If bX Then vArray(iX) = iRnd: iX = iX + 1
        If iX > 20 Then Exit Do
    Loop
    
    Debug.Print Join(vArray, ", ")
End Sub
 
[불량 게시물 신고]  
호랑나비감사합니다. 함수로 간단히 할 방법은 없나 보네요. 그런 함수가 개발되었으면 좋겠습니다.12-14 (18:01)
삭제 ■신고
        
  

작성일 : 2018-12-14(14:52)
최종수정일 : 2018-12-14(14:54)
 


 ◎ 관련글

  제 목   작성자   날짜
1에서 20까지 숫자 난수방법 호랑나비 2018-12-13
[RE]1에서 20까지 숫자 난수방법 정일한 2018-12-30
[RE]1에서 20까지 숫자 난수방법 dew 2018-12-14
[RE]1에서 20까지 숫자 난수방법 dew 2018-12-17