Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

สร้างปฏิทิน Excel แบบกำหนดเองจากศูนย์: 2 คู่มือทีละขั้นตอน

บทช่วยสอนนี้จะสาธิตวิธีการสร้างปฏิทินใน Excel โดยไม่ใช้เทมเพลต ในชีวิตประจำวัน เราทั้งหมดใช้เวลาสิ้นสุด (deadline) สำหรับงานหรือโครงการบางอย่าง ดังนั้น การดูแลปฏิทินของตัวเองจึงมีความสำคัญมาก มันช่วยเตือนขีดจำกัดเวลาของงานของคุณ นอกจากนี้ การสร้างปฏิทิน Excel ของตัวเองสามารถให้ข้อได้เปรียบเพิ่มเติมได้ เนื่องจากคุณสามารถปรับเปลี่ยนได้ตามที่ต้องการ ดังนั้น การสร้างปฏิทินใน Excel โดยไม่ใช้เทมเพลตจึงเป็นสิ่งสำคัญ

คุณสามารถดาวน์โหลดสมุดงานฝึกฝนได้จากที่นี่

2 ตัวอย่างง่ายๆ ในการสร้างปฏิทินใน Excel โดยไม่ใช้เทมเพลต

เราจะใช้ 2 ตัวอย่างในการสร้างปฏิทินใน Excel โดยไม่ใช้เทมเพลต หากคุณปฏิบัติตามขั้นตอนอย่างถูกต้อง คุณควรจะเรียนรู้วิธีการสร้างปฏิทินใน Excel โดยไม่ใช้เทมเพลตด้วยตัวเอง ขั้นตอนมีดังนี้

1. การสร้างปฏิทินรายเดือนใน Excel

ในกรณีนี้ เป้าหมายของเราคือสร้างปฏิทินรายเดือนโดยไม่ใช้เทมเพลตใดๆ เราสามารถทำได้ง่ายๆ โดยทำตามขั้นตอนด้านล่าง

ขั้นตอน:

  • ขั้นแรก กดตัวเลือก Alt + F11 เพื่อเปิดหน้าต่าง VBA
  • จากนั้น ไปที่ตัวเลือก Insert > Module

สร้างปฏิทิน 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 คู่มือทีละขั้นตอน

  • ต่อไป ใส่เดือนและปีที่ต้องการในกล่องโต้ตอบปฏิทินและกด OK

สร้างปฏิทิน Excel แบบกำหนดเองจากศูนย์: 2 คู่มือทีละขั้นตอน

  • สุดท้าย หลังจากกดปุ่ม RUN หรือ 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 คู่มือทีละขั้นตอน

🔎 สูตรทำงานอย่างไร?

  • (DATE($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 คู่มือทีละขั้นตอน

  • ขั้นที่หก ไปที่ ตารางข้อมูลที่เลือก > Home > Conditional Formatting > New Rules

สร้างปฏิทิน Excel แบบกำหนดเองจากศูนย์: 2 คู่มือทีละขั้นตอน

  • ขั้นที่เจ็ด ในกล่องโต้ตอบ New Formatting Rule ให้เลือก Use a formula to determine which cells to format ในตัวเลือก Select a Rule Type และใส่กฎต่อไปนี้ในตัวเลือก Format values where this formula is a true และเลือกสีที่ต้องการในตัวเลือก Preview และกด OK
=ISNUMBER(VLOOKUP(B8,Holidays!$C:$C,1,0))

สร้างปฏิทิน Excel แบบกำหนดเองจากศูนย์: 2 คู่มือทีละขั้นตอน

🔎 สูตรทำงานอย่างไร?

  • VLOOKUP(B8, Holidays!$C:$C,1,0): ฟังก์ชัน VLOOKUP ค้นหาค่าในคอลัมน์แรกสุดของตาราง และคืนค่าในแถวเดียวกันจากคอลัมน์ที่คุณระบุ ที่นี่ B6 (lookup_value argument) ถูกแมปจากอาร์เรย์ Holidays!$C:$C (table_array argument) ต่อไป 1 (col_index_num argument) แสดงถึงหมายเลขคอลัมน์ของค่าการค้นหา สุดท้าย 0 (range_lookup argument) หมายถึง Exact match ของค่าการค้นหา
  • ISNUMBER(VLOOKUP(B8, Holidays!$C:$C,1,0)): ฟังก์ชัน ISNUMBER ตรวจสอบว่าค่าเป็นตัวเลขหรือไม่ และคืนค่า TRUE หรือ FALSE
  • ขั้นที่แปด หลังจากกดปุ่ม Enter คุณจะได้ผลลัพธ์ที่ต้องการสำหรับเดือนนั้น

สร้างปฏิทิน Excel แบบกำหนดเองจากศูนย์: 2 คู่มือทีละขั้นตอน

  • ขั้นสุดท้าย หากคุณทำซ้ำขั้นตอนเหล่านี้ต่อไป คุณจะได้ผลลัพธ์ที่ต้องการสำหรับทุกเดือนของปี เช่นภาพด้านล่าง

สร้างปฏิทิน Excel แบบกำหนดเองจากศูนย์: 2 คู่มือทีละขั้นตอน

สร้างปฏิทิน Excel แบบกำหนดเองจากศูนย์: 2 คู่มือทีละขั้นตอน

อ่านเพิ่มเติม: วิธีสร้างปฏิทินรายปีใน Excel (พร้อมขั้นตอนง่ายๆ)

สรุป

ดังนั้น โปรดปฏิบัติตามวิธีที่อธิบายไว้ข้างต้น หวังว่าวิธีเหล่านี้จะช่วยให้คุณสามารถสร้างปฏิทินใน Excel โดยไม่ใช้เทมเพลตได้ เราจะยินดีหากคุณสามารถดำเนินงานนี้ได้ด้วยวิธีอื่น โปรดติดตามเว็บไซต์ ExcelDemy สำหรับบทความแบบนี้เพิ่มเติม โปรดรู้สึกเสรีที่จะเพิ่มความคิดเห็น ข้อเสนอแนะ หรือคำถามในส่วนด้านล่าง หากคุณมีข้อสงสัยหรือเผชิญปัญหาใดๆ เราจะพยายามแก้ไขปัญหาหรือทำงานตามข้อเสนอแนะของคุณให้ดีที่สุด

บทความที่เกี่ยวข้อง

  • วิธีสร้างปฏิทินแบบโต้ตอบใน Excel (2 วิธีง่ายๆ)
  • สร้างปฏิทินว่างใน Excel (ดาวน์โหลดเทมเพลตฟรี)
  • วิธีสร้างปฏิทินรายสัปดาห์ใน Excel (3 วิธีที่เหมาะสม)