매크로 실행을 허용하시면 됩니다.
식당 목록을 직접 입력하시고 버튼을 누르면 됩니다.
식당고르기 버튼에 '랜덤숫자만들기'라는 매크로가 연결되어 있습니다.
전제조건은 식당이 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
'오피스' 카테고리의 다른 글
[아웃룩] 아웃룩의 일정을 구글 캘린더에 넣기 (0) | 2016.01.04 |
---|---|
[엑셀]매크로 파일명 변경하기 (0) | 2013.11.28 |
[엑셀]매크로 시트의 내용을 쿼리로 처리하기 (0) | 2013.11.05 |
[엑셀]MATCH 특정 값의 위치 찾기, ADDRESS 특정값의 셀 주소 표현 (0) | 2013.10.31 |
[엑셀]초를 시:분:초로 표현하기 (0) | 2012.11.02 |