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

สร้างปฏิทินไดนามิกใน Excel ด้วย Form Controls: คู่มือทีละขั้นตอน

บทนำ

Excel มี Built-in Features และ Formulas สร้างปฏิทินเต็มรูปแบบได้โดยไม่ต้อง Code สามารถใช้ Form Controls สร้าง Dynamic Calendar Interface ใน Excel ที่ User Navigate ผ่านเดือนและปีต่างๆ

ในบทช่วยสอนนี้ จะแสดงวิธีสร้าง Calendar Interface เต็มรูปแบบใน Excel ใช้ Form Controls

เปิดใช้งาน Developer Tab

หาก Developer Tab ไม่อยู่ใน Ribbon ต้อง Enable จาก Customize Ribbon

  • File > Options
  • Customize Ribbon
  • เช็ค Developer ใน Panel ขวา
  • คลิก OK

ขั้นตอนที่ 1: สร้าง Worksheet Layout

สร้าง Worksheet Layout:

  • เปิด Workbook ใหม่
  • สร้าง Worksheet ใหม่ ชื่อ "Calendar"
  • ตั้งค่าโครงสร้างพื้นฐาน:
    • Row 1: Title Area ของ Calendar
    • Row 3: Month และ Year Controls
    • Row 5: Day Headers (Sun, Mon, Tue ฯลฯ)
    • Rows 6-11: Calendar Grid (6 Rows รองรับ Layout ทุกเดือน)

สร้าง Day Headers และ List Month/Years:

  • ใส่รายการเดือน (Jan ถึง Dec)
  • ใส่ Years ที่ต้องการ (เช่น 2025, 2026 ถึง 2036)
  • ใส่ Day Headers (Sun, Mon ถึง Sat)

ขั้นตอนที่ 2: สร้าง Date Controls

  • Developer > Insert > Form Controls
  • เลือก Combo Box (ไม่ใช่ ActiveX)
  • วาด Combo Box ในเซลล์ B3
  • คลิกขวา Combo Box > Format Control
  • ใน Format Object Box:
    • Input Range: เลือก Month List จากคอลัมน์ I (I2:I13)
    • Cell Link: J2 (เก็บ Selected Month Number)
    • Dropdown Lines: 12
    • คลิก OK

เพิ่ม Year Selection Dropdown:

  • แทรก Combo Box อีกอันในเซลล์ D3
  • ใน Format Object Box:
    • Input Range: Year List จากคอลัมน์ K (K2:K12 ปี 2020-2039)
    • Cell Link: L2 (เก็บ Selected Year Number ตาม Starting Year)
    • Dropdown Lines: 10
    • คลิก OK

ขั้นตอนที่ 3: ตั้งค่า Helper Cells สร้าง Calendar Logic

สร้าง Helper Formulas ในคอลัมน์ M

Current Month Number:

  • เลือก M2 ใส่สูตร

Current Year:

  • เลือก M3 ใส่สูตร

First Day of Month:

  • เลือก M4 ใส่สูตร

Day of Week for First Day (0=Sunday, 1=Monday ฯลฯ):

  • เลือก M5 ใส่สูตร

Number of Days in Month:

  • เลือก M6 ใส่สูตร

ขั้นตอนที่ 4: สร้าง Calendar Grid Formulas

Calendar Grid ใช้สูตรผสมตัดสินใจว่า Date ไหน (ถ้ามี) ควรปรากฏในแต่ละเซลล์

  • เลือก A6 ใส่สูตร:
  • ลากสูตรจาก A6 ถึง G11
=IF((ROW()-ROW($A$6))*7+COLUMN()-COLUMN($A$6)+1<=$M$5,"",IF((ROW()-ROW($A$6))*7+COLUMN()-COLUMN($A$6)+1-$M$5>$M$6,"",(ROW()-ROW($A$6))*7+COLUMN()-COLUMN($A$6)+1-$M$5))

สูตรนี้ Generate วันที่ถูกต้องสำหรับแต่ละเซลล์ใน Calendar Grid:

  • คำนวณ Day Number 显示在每个单元格基于它在 Grid 中的位置
  • ถ้าเซลล์ก่อน First Day of Month (<= $M$5) คงว่าง
  • ถ้าวันที่คำนวณได้ > จำนวนวันในเดือน (> $M$6) คงว่าง
  • อื่นๆ แสดง Day Number ถูกต้องสำหรับ Date Cell นั้น

ขั้นตอนที่ 5: ใช้ Format และ Style

  • เลือก Row 5 (A5:G5) > Bold
  • เพิ่ม Background Light Blue
  • เลือก Calendar Range (A6:G11)
  • เพิ่ม Borders: Home > Borders > All Borders
  • Center Align: Home > Alignment > Center
  • ตั้ง Row Height 25 เพื่อ Visibility

ขั้นตอนที่ 6: ใช้ Conditional Formatting

Conditional Formatting สำหรับ Weekends:

  • เลือก Calendar Range (A6:G11)
  • Home > Conditional Formatting > New Rule
  • เลือก Use a formula to determine which cells to format
  • ใส่สูตร: =AND(A6<>"", OR(COLUMN(A6)=1, COLUMN(A6)=7))
  • Format: Red Background, White Font สำหรับ Weekends
  • คลิก OK

Conditional Formatting สำหรับ Current Date:

  • เลือก Calendar Range
  • สร้าง Rule ใหม่
  • ใส่สูตร: =AND(ISNUMBER(A6), DATE($K$2, $J$2, A6) = TODAY())
  • Format: Bold พร้อม Light Blue Background
  • คลิก OK

ซ่อน Calendar Calculations:

  • เลือก Helper Columns (I, J, K, L, M)
  • คลิกขวา > Hide

Final Calendar Interface:

ขั้นตอนที่ 7: ทดสอบ Calendar

  • เลือกเดือนและปีต่างๆ
    • January
    • 2026
  • Verify Excel Calendar กับปฏิทินจริง

สรุป

ด้วยขั้นตอนข้างต้น สร้าง Calendar Interface เต็มรูปแบบใน Excel ด้วย Form Controls ได้ จะเป็น Single-sheet Excel Calendar เลือก Month/Year จาก Dropdowns Calendar อัปเดตอัตโนมัติ Interactive และขยายได้หลายปี เมื่อคล่องกับโครงสร้างพื้นฐาน สามารถเพิ่ม Features เช่น Appointment Scheduling, Color-coded Events, หรือ Integration กับ Data Sources อื่นๆ ใน Excel