VB(A)

월별 식단표 v3

당근쨈 2015. 1. 13. 11:10

달력 컨트롤을 이용해 일자별 식단표를 만들어보았다.

스크린샷에는 보이지 않지만 1월부터 12월까지 12개 시트로 각 일자별로 식단이 짜여있고

달력을 클릭하면 해당 일자의 식단을 가져오게 되어있다.


기존 사용하던 사용자폼은 삭제하고 달력 컨트롤만 삽입하였다.

확실히 날짜 선택은 달력이 갑이지.

근데 달력컨트롤이 다른 엑셀 버전에선 에러가 난다는 제보가 ㅠ

게다가 다른 pc에서도 안 열릴 수도 있겠다.

이럴 수가 ㅠ


Option Explicit
Private Sub Calendar1_Click()
 
    Dim calYear As Integer
    Dim calMonth As Integer
    Dim calDay As Integer
    Dim calYoil As String
    Dim c As Range
    Dim i As Integer
    Dim strDay As Range
    Dim tgDay As String
    Dim rngDay As Range
    
    Set strDay = Sheets(2).Range("B2")      '작업을 시작할 셀 정의
    Set rngDay = Sheets(2).Range("A1")      '일자별 식단 날짜 입력
    
    '달력에서 날짜 인식
    With Me.Calendar1
        calYear = Format(.Value, "yyyy")
        calMonth = Format(.Value, "m")
        calDay = Format(.Value, "d")
        calYoil = Format(.Value, "aaa")
    End With
    
    '요일 셀에 달력에서 선택한 날짜 가져오기
    tgDay = calYoil & "(" & calDay & ")"
    
    '월별식단표에서 tgDay와 일부 일치하는 값을 가져오기(일자 옆에 '생일' 같은 거 적혀있어서
    Set c = Sheets(calMonth + 2).Range("C3:G31").Find(what:=tgDay, lookat:=xlPart)
    
    On Error Resume Next
    
    '일자별 식단표에 자료 입력
    rngDay = c
    For i = 1 To 6
        strDay.Offset(i - 10= c.Offset(i, 0)
    Next i
    
    On Error GoTo 0
End Sub
cs


월별_식단표.xlsm





'VB(A)' 카테고리의 다른 글

Select Case 를 활용한 다중 조건 처리  (0) 2015.01.28
자동채우기  (0) 2015.01.18
내 맘대로 의뢰받은 척 하고 만듬  (0) 2015.01.15
의뢰받아 만든 발주서  (0) 2015.01.14
달력을 이용한 월별 식단표  (0) 2015.01.07