오피스

[엑셀]난수를 이용한 식사 고르기

자료나눔 2014. 5. 15. 17:10

이번주_식사.xlsm



매크로 실행을 허용하시면 됩니다.


식당 목록을 직접 입력하시고 버튼을 누르면 됩니다.


식당고르기 버튼에 '랜덤숫자만들기'라는 매크로가 연결되어 있습니다.

전제조건은 식당이 10개는 있어야 한다는 겁니다. (중복을 피하기 위해)


매주 주변 식당들 중에서 어디를 갈 까 고민하다 만들었습니다.




매크로

=====================================


Sub 랜덤숫자만들기()
Dim lRowStart As Long
Dim lRowEnd As Long
Dim lRowCount As Long
Dim sVal As String
Dim iLnd As Integer
Dim R, C


    'A=1, D=4
    lRowStart = Cells(1, 4).Value
    lRowEnd = Cells(2, 4).Value
    lRowCount = lRowEnd - lRowStart '랜덤 건수 구하기
   
    Randomize

    For R = 2 To 6
        For C = 6 To 7
            Cells(R, C).Value = ""
        Next C
    Next R


    For R = 2 To 6
        For C = 6 To 7
Loop1:
            iLnd = Int(Rnd * lRowCount) + 1 + 1
            sVal = Cells(iLnd, 1).Value '해당 셀의 값 (a컬럼)
            If 중복검사(sVal) = False Then
                Cells(R, C).Value = sVal
                GoTo Cont
            Else
                GoTo Loop1
            End If
Cont:
        Next C
    Next R

End Sub

Function 중복검사(sVal As String) As Boolean
    Dim bChk As Boolean
    Dim R, C
   
    bChk = False
   
    For R = 2 To 6
        For C = 6 To 7
            If sVal = Cells(R, C).Value Then
                bChk = True
                Exit For
            End If
        Next C
    Next R
   
    중복검사 = bChk
End Function

이번주_식사.xlsm
0.02MB