บทช่วยสอนนี้จะสาธิตวิธีสร้างปฏิทินใน excel โดยไม่ต้องใช้เทมเพลต ในชีวิตประจำวันของเรา เราทุกคนใช้กำหนดเวลาสำหรับงานหรือโครงการบางอย่าง ดังนั้นการรักษาปฏิทินของเราเองจึงเป็นสิ่งสำคัญมาก ช่วยคุณในการเตือนขีด จำกัด เวลาทำงานของคุณ นอกจากนี้ การสร้างปฏิทิน excel ของคุณเองยังช่วยให้คุณได้เปรียบมากขึ้น เนื่องจากคุณสามารถปรับเปลี่ยนได้ตามต้องการ ดังนั้น การสร้างปฏิทินใน excel โดยไม่มีเทมเพลตจึงสำคัญมาก
ดาวน์โหลดแบบฝึกหัดได้จากที่นี่
2 ตัวอย่างง่ายๆ ในการสร้างปฏิทินใน Excel โดยไม่ต้องใช้เทมเพลต
เราจะใช้ 2 ตัวอย่างเพื่อสร้างปฏิทินใน excel โดยไม่มีเทมเพลต หากคุณทำตามขั้นตอนอย่างถูกต้อง คุณควรเรียนรู้วิธีสร้างปฏิทินใน excel โดยไม่ต้องใช้เทมเพลตด้วยตนเอง ขั้นตอนคือ:
1. การสร้างปฏิทินรายเดือนใน Excel
ในกรณีนี้ เป้าหมายของเราคือการสร้างปฏิทินรายเดือนโดยไม่ต้องใช้เทมเพลตใดๆ เราสามารถทำได้ง่ายๆ โดยทำตามขั้นตอนด้านล่าง
ขั้นตอน:
- ขั้นแรก ให้กด Alt + F11 ตัวเลือกในการเปิด VBA หน้าต่าง
- จากนั้น ไปที่ แทรก> โมดูล ตัวเลือก
- หลังจากนั้น ให้ใส่รหัสต่อไปนี้ในหน้าต่าง
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
- ถัดไป ให้ใส่เดือนและปีที่ต้องการลงในกล่องโต้ตอบปฏิทินแล้วกด ตกลง .
- สุดท้ายหลังจากกด RUN หรือ F5 ปุ่ม คุณจะได้ผลลัพธ์ที่ต้องการ
อ่านเพิ่มเติม: วิธีสร้างปฏิทินรายเดือนใน Excel (3 วิธีที่มีประสิทธิภาพ)
2. ทำปฏิทินประจำปีใน Excel
เราต้องการสร้างปฏิทินประจำปีใน excel โดยทำตามขั้นตอนด้านล่าง
ขั้นตอน:
- ขั้นแรก จัดเรียงชุดข้อมูลตามภาพด้านล่าง
- ขั้นที่สอง ใส่สูตรต่อไปนี้ใน เซลล์ 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),"")
🔎 สูตรทำงานอย่างไร
- (DATE($B$4,$B$6,1) :ส่วนนี้แสดงถึงเซลล์ที่เลือกซึ่งฟังก์ชัน DATE จะถูกนำไปใช้
- วันธรรมดา(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, วันที่($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 ปุ่ม คุณจะได้ผลลัพธ์ที่ต้องการสำหรับเดือนนั้น
- ประการที่สี่ หากคุณทำตามขั้นตอนซ้ำๆ กัน คุณจะได้ผลลัพธ์ที่ต้องการสำหรับทุกๆ เดือนของปี ดังรูปด้านล่าง
- ประการที่ห้า เราต้องการแทรกวันหยุดลงในปฏิทินประจำปีปัจจุบัน ดังนั้นเราจึงได้จัดเรียงชุดข้อมูลดังรูปด้านล่างในเวิร์กชีตใหม่
- ประการที่หก ไปที่ ตารางข้อมูลที่เลือก> หน้าแรก> การจัดรูปแบบตามเงื่อนไข> กฎใหม่ ตัวเลือก
- ประการที่เจ็ด ในกฎการจัดรูปแบบใหม่ กล่องโต้ตอบ ให้เลือก ใช้สูตรเพื่อกำหนดเซลล์ที่จะจัดรูปแบบ ใน เลือกประเภทกฎ ตัวเลือกและแทรกกฎต่อไปนี้ในรูปแบบค่าที่สูตรนี้เป็นจริง และเลือกสีที่ต้องการใน ดูตัวอย่าง ตัวเลือกแล้วกด ตกลง .
=ISNUMBER(VLOOKUP(B8,Holidays!$C:$C,1,0))
🔎 สูตรทำงานอย่างไร
- VLOOKUP(B8 วันหยุด!$C:$C,1,0) :ที่ ฟังก์ชัน VLOOKUP ค้นหาค่าในคอลัมน์ซ้ายสุดของตาราง แล้วส่งกลับค่าในแถวเดียวกันจากคอลัมน์ที่คุณระบุ ที่นี่ B6 ( lookup_value อาร์กิวเมนต์) ถูกแมปจาก Holidays!$C:$C (table_array อาร์กิวเมนต์) อาร์เรย์ ต่อไป 1 (col_index_num อาร์กิวเมนต์) แทนหมายเลขคอลัมน์ของค่าการค้นหา สุดท้าย 0 (range_lookup อาร์กิวเมนต์) หมายถึง การจับคู่แบบตรงทั้งหมด ของค่าการค้นหา
- ISNUMBER(VLOOKUP(B8, วันหยุด!$C:$C,1,0)): ฟังก์ชัน ISNUMBER ตรวจสอบว่าค่าเป็นตัวเลขและคืนค่า TRUE หรือ FALSE
- ประการที่แปด หลังจากกดปุ่ม Enter ปุ่ม คุณจะได้ผลลัพธ์ที่ต้องการสำหรับเดือนนั้น
- สุดท้าย หากคุณทำซ้ำขั้นตอน คุณจะได้ผลลัพธ์ที่ต้องการสำหรับทุกๆ เดือนของปีดังภาพด้านล่าง
อ่านเพิ่มเติม: วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)
บทสรุป
ต่อจากนี้ไป ให้ทำตามวิธีการที่อธิบายไว้ข้างต้น หวังว่าวิธีการเหล่านี้จะช่วยคุณสร้างปฏิทินใน excel โดยไม่ต้องใช้เทมเพลต เรายินดีที่จะทราบว่าคุณสามารถดำเนินงานด้วยวิธีอื่นได้หรือไม่ ปฏิบัติตาม ExcelDemy เว็บไซต์สำหรับบทความเพิ่มเติมเช่นนี้ โปรดอย่าลังเลที่จะเพิ่มความคิดเห็น ข้อเสนอแนะ หรือคำถามในส่วนด้านล่างนี้ หากคุณมีความสับสนหรือประสบปัญหาใดๆ เราจะพยายามแก้ไขปัญหาให้ดีที่สุดหรือดำเนินการตามคำแนะนำของคุณ
บทความที่เกี่ยวข้อง
- วิธีการสร้างปฏิทินแบบโต้ตอบใน Excel (2 วิธีง่ายๆ)
- สร้างปฏิทินเปล่าใน Excel (ดาวน์โหลดเทมเพลตฟรี)
- วิธีสร้างปฏิทินรายสัปดาห์ใน Excel (3 วิธีที่เหมาะสม)