Computer >> 컴퓨터 >  >> 소프트웨어 >> Office

템플릿 없이 Excel에서 달력을 만드는 방법(2개의 예)

이 튜토리얼은 템플릿 없이 엑셀에서 달력을 만드는 방법을 보여줍니다. 일상 생활에서 우리는 모두 특정 작업이나 프로젝트에 마감일을 사용하므로 자신의 달력을 유지하는 것이 매우 중요합니다. 작업 시간 제한을 상기시키는 데 도움이 됩니다. 또한, 나만의 엑셀 캘린더를 만들면 원하는 대로 수정할 수 있어 더욱 돋보일 수 있습니다. 따라서 템플릿 없이 엑셀로 달력을 만드는 것은 매우 중요합니다.

여기에서 연습 워크북을 다운로드할 수 있습니다.

템플릿 없이 Excel에서 달력을 만드는 2가지 쉬운 예

템플릿 없이 엑셀에서 달력을 만들기 위해 2가지 예를 사용할 것입니다. 순서대로 따라하시면 ​​템플릿 없이 엑셀로 달력 만드는 법을 스스로 터득하셔야 합니다. 단계는 다음과 같습니다.

1. Excel에서 월간 달력 만들기

이 경우 템플릿을 사용하지 않고 월간 달력을 만드는 것이 목표입니다. 아래 단계를 따르면 쉽게 할 수 있습니다.

단계:

  • 먼저 Alt + F11을 누릅니다. VBA 를 여는 옵션 창.
  • 그런 다음 삽입> 모듈  옵션.

템플릿 없이 Excel에서 달력을 만드는 방법(2개의 예)

  • 그런 다음 창에 다음 코드를 삽입합니다.
Sub CalendarMaker()
'This code was taken from extendoffice.com
       ActiveSheet.Protect DrawingObjects:=False, Contents:=False, _
          Scenarios:=False
       Application.ScreenUpdating = False
       On Error GoTo MyErrorTrap
       Range("a1:g14").Clear
       MyInput = InputBox("Type in Month and year for Calendar ")
       If MyInput = "" Then Exit Sub
       StartDay = DateValue(MyInput)
       If Day(StartDay) <> 1 Then
           StartDay = DateValue(Month(StartDay) & "/1/" & _
               Year(StartDay))
       End If
       Range("a1").NumberFormat = "mmmm yyyy"
       With Range("a1:g1")
           .HorizontalAlignment = xlCenterAcrossSelection
           .VerticalAlignment = xlCenter
           .Font.Size = 18
           .Font.Bold = True
           .RowHeight = 35
       End With
       With Range("a2:g2")
           .ColumnWidth = 11
           .VerticalAlignment = xlCenter
           .HorizontalAlignment = xlCenter
           .VerticalAlignment = xlCenter
           .Orientation = xlHorizontal
           .Font.Size = 12
           .Font.Bold = True
           .RowHeight = 20
       End With
       Range("a2") = "Sunday"
       Range("b2") = "Monday"
       Range("c2") = "Tuesday"
       Range("d2") = "Wednesday"
       Range("e2") = "Thursday"
       Range("f2") = "Friday"
       Range("g2") = "Saturday"
       With Range("a3:g8")
           .HorizontalAlignment = xlRight
           .VerticalAlignment = xlTop
           .Font.Size = 18
           .Font.Bold = True
           .RowHeight = 21
       End With
       Range("a1").Value = Application.Text(MyInput, "mmmm yyyy")
       DayofWeek = Weekday(StartDay)
       CurYear = Year(StartDay)
       CurMonth = Month(StartDay)
       FinalDay = DateSerial(CurYear, CurMonth + 1, 1)
       Select Case DayofWeek
           Case 1
               Range("a3").Value = 1
           Case 2
               Range("b3").Value = 1
           Case 3
               Range("c3").Value = 1
           Case 4
               Range("d3").Value = 1
           Case 5
               Range("e3").Value = 1
           Case 6
               Range("f3").Value = 1
           Case 7
               Range("g3").Value = 1
       End Select
       For Each cell In Range("a3:g8")
           RowCell = cell.Row
           ColCell = cell.Column
           If cell.Column = 1 And cell.Row = 3 Then
           ElseIf cell.Column <> 1 Then
               If cell.Offset(0, -1).Value >= 1 Then
                   cell.Value = cell.Offset(0, -1).Value + 1
                   If cell.Value > (FinalDay - StartDay) Then
                       cell.Value = ""
                       Exit For
                   End If
               End If
           ElseIf cell.Row > 3 And cell.Column = 1 Then
               cell.Value = cell.Offset(-1, 6).Value + 1
               If cell.Value > (FinalDay - StartDay) Then
                   cell.Value = ""
                   Exit For
               End If
           End If
       Next
       For x = 0 To 5
           Range("A4").Offset(x * 2, 0).EntireRow.Insert
           With Range("A4:G4").Offset(x * 2, 0)
               .RowHeight = 65
               .HorizontalAlignment = xlCenter
               .VerticalAlignment = xlTop
               .WrapText = True
               .Font.Size = 10
               .Font.Bold = False
               .Locked = False
           End With
           With Range("A3").Offset(x * 2, 0).Resize(2, _
           7).Borders(xlLeft)
               .Weight = xlThick
               .ColorIndex = xlAutomatic
           End With
           With Range("A3").Offset(x * 2, 0).Resize(2, _
           7).Borders(xlRight)
               .Weight = xlThick
               .ColorIndex = xlAutomatic
           End With
           Range("A3").Offset(x * 2, 0).Resize(2, 7).BorderAround _
              Weight:=xlThick, ColorIndex:=xlAutomatic
       Next
       If Range("A13").Value = "" Then Range("A13").Offset(0, 0) _
          .Resize(2, 8).EntireRow.Delete
       ActiveWindow.DisplayGridlines = False
       ActiveSheet.Protect DrawingObjects:=True, Contents:=True, _
          Scenarios:=True
       ActiveWindow.WindowState = xlMaximized
       ActiveWindow.ScrollRow = 1
       Application.ScreenUpdating = True
       Exit Sub
MyErrorTrap:
       MsgBox "You may not have entered your Month and Year correctly." _
           & Chr(13) & "Spell the Month correctly" _
           & " (or use 3 letter abbreviation)" _
           & Chr(13) & "and 4 digits for the Year"
       MyInput = InputBox("Type in Month and year for Calendar")
       If MyInput = "" Then Exit Sub
       Resume
   End Sub

템플릿 없이 Excel에서 달력을 만드는 방법(2개의 예)

  • 다음으로 달력 대화 상자에 원하는 월과 연도를 입력하고 확인을 누릅니다. .

템플릿 없이 Excel에서 달력을 만드는 방법(2개의 예)

  • 마지막으로 실행 을 누른 후 또는 F5 버튼을 누르면 원하는 결과를 얻을 수 있습니다.

템플릿 없이 Excel에서 달력을 만드는 방법(2개의 예)

자세히 알아보기: Excel에서 월간 달력을 만드는 방법(3가지 효과적인 방법)

2. Excel에서 연간 달력 만들기

아래 단계에 따라 Excel에서 연간 달력을 만들고 싶습니다.

단계:

  • 먼저 아래 이미지와 같이 데이터셋을 정렬합니다.

템플릿 없이 Excel에서 달력을 만드는 방법(2개의 예)

템플릿 없이 Excel에서 달력을 만드는 방법(2개의 예)

  • 둘째, 셀 B8에 다음 수식을 삽입합니다. .
=IF(MONTH(DATE($B$4,$B$6,1)+SEQUENCE(6,7)-WEEKDAY(DATE($B$4,$B$6,1),2))=$B$6,DATE($B$4,$B$6,1)+SEQUENCE(6,7)-WEEKDAY(DATE($B$4,$B$6,1),2),"")

템플릿 없이 Excel에서 달력을 만드는 방법(2개의 예)

🔎 공식은 어떻게 작동합니까?

  • (날짜($B$4,$B$6,1) :이 부분은 DATE 함수가 있는 선택된 셀을 나타냅니다. 적용됩니다.
  • WEEKDAY(DATE($B$4,$B$6,1),2) :이 부분은 날짜와 요일을 함께 고려합니다.
  • (DATE($B$4,$B$6,1)+SEQUENCE(6,7)-WEEKDAY(DATE($B$4,$B$6,1),2))=$B$6, DATE($B$4,$B$6,1)+SEQUENCE(6,7)-WEEKDAY(DATE($B$4,$B$6,1),2) :이 부분은 날짜와 요일을 고려하여 날짜를 순차적으로 정리한 것을 나타냅니다.
  • IF(MONTH(DATE($B$4,$B$6,1)+SEQUENCE(6,7)-WEEKDAY(DATE($B$4,$B$6,1),2))=$ B$6,DATE($B$4,$B$6,1)+SEQUENCE(6,7)-WEEKDAY(DATE($B$4,$B$6,1),2),”) :이 부분은 월, 날짜 및 평일과 함께 전체 조건을 나타냅니다.
  • 셋째, Enter 키를 누른 후 버튼을 누르면 해당 월에 원하는 결과를 얻을 수 있습니다.

템플릿 없이 Excel에서 달력을 만드는 방법(2개의 예)

  • 넷째, 위의 과정을 계속 반복하면 아래 그림과 같이 매월 원하는 결과를 얻을 수 있습니다.

템플릿 없이 Excel에서 달력을 만드는 방법(2개의 예)

템플릿 없이 Excel에서 달력을 만드는 방법(2개의 예)

  • 다섯째, 현재 연간 달력에 공휴일을 삽입하려고 합니다. 그래서 새 워크시트에 아래 이미지와 같은 데이터 세트를 정렬했습니다.

템플릿 없이 Excel에서 달력을 만드는 방법(2개의 예)

  • 여섯째, 선택한 데이터 표> 홈> 조건부 서식> 새 규칙 으로 이동합니다. 옵션.

템플릿 없이 Excel에서 달력을 만드는 방법(2개의 예)

  • 일곱 번째, 새 서식 규칙 대화 상자에서 수식을 사용하여 서식을 지정할 셀 결정을 선택합니다. 규칙 유형 선택 옵션을 선택하고 이 수식이 참인 값의 서식에 다음 규칙을 삽입합니다. 옵션을 선택하고 미리보기에서 원하는 색상을 선택합니다. 옵션을 선택하고 확인을 누릅니다. .
=ISNUMBER(VLOOKUP(B8,Holidays!$C:$C,1,0))

템플릿 없이 Excel에서 달력을 만드는 방법(2개의 예)

🔎 공식은 어떻게 작동합니까?

  • VLOOKUP(B8, 휴일!$C:$C,1,0) : VLOOKUP 기능 테이블의 가장 왼쪽 열에서 값을 찾은 다음 지정한 열에서 같은 행의 값을 반환합니다. 여기 B6( lookup_value 인수)는 Holidays!$C:$C 에서 매핑됩니다. (table_array 인수) 배열. 다음은 1 (col_index_num 인수)는 조회 값의 열 번호를 나타냅니다. 마지막으로 0 (범위_조회 인수)는 일치검색을 나타냅니다. 조회 값.
  • ISNUMBER(VLOOKUP(B8, 휴일!$C:$C,1,0)): ISNUMBER 함수 값이 숫자인지 확인하고 TRUE 또는 FALSE를 반환합니다.
  • 여덟째, Enter 키를 누른 후 버튼을 누르면 해당 월에 원하는 결과를 얻을 수 있습니다.

템플릿 없이 Excel에서 달력을 만드는 방법(2개의 예)

  • 마지막으로, 위의 과정을 계속 반복하면 아래 그림과 같이 매월 원하는 결과를 얻을 수 있습니다.

템플릿 없이 Excel에서 달력을 만드는 방법(2개의 예)

템플릿 없이 Excel에서 달력을 만드는 방법(2개의 예)

자세히 알아보기: Excel에서 연간 달력을 만드는 방법(간단한 단계 포함)

결론

이후에는 위에서 설명한 방법을 따르십시오. 이 방법들이 템플릿 없이 엑셀로 달력을 만드는 데 도움이 되기를 바랍니다. 다른 방법으로 작업을 실행할 수 있는지 알게 되어 기쁩니다. ExcelDemy 팔로우 이와 같은 더 많은 기사를 보려면 웹사이트를 방문하세요. 혼란이 있거나 문제가 있는 경우 아래 섹션에 의견, 제안 또는 질문을 자유롭게 추가하십시오. 우리는 문제를 해결하거나 귀하의 제안에 따라 작업하기 위해 최선을 다할 것입니다.

관련 기사

  • Excel에서 대화형 캘린더를 만드는 방법(2가지 쉬운 방법)
  • Excel에서 빈 캘린더 만들기(무료 템플릿 다운로드)
  • Excel에서 주간 달력을 만드는 방법(3가지 적절한 방법)