ใน Microsoft Excel มีเครื่องมือจำเป็นมากมายที่สร้างประสบการณ์ผู้ใช้ที่ดี หนึ่งในนั้นคือ Date Picker (ตัวเลือกวันที่) ด้วยเครื่องมือนี้ คุณสามารถ แทรกวันที่และเวลาใดๆ ในเวิร์กชีทได้ มันจะโผล่ขึ้นมาเหมือน ปฏิทิน คุณสามารถเลือก วันที่ จากนั้นได้ ในบทช่วยสอนนี้ คุณจะได้เรียนรู้การแทรก Date Picker ใน Excel พร้อมตัวอย่างที่เหมาะสมและภาพประกอบที่ชัดเจน รายละเอียดมากมายจะมาในส่วนต่อไป ดังนั้น หวังว่าคุณจะติดตามมาจนจบ
ทำไม Date Picker จึงมีประโยชน์ใน Excel?
ตอนนี้ คนส่วนใหญ่ชอบทำงานกับ User Interface (อินเทอร์เฟซผู้ใช้) มันทำให้งานง่ายขึ้น เรา แทรกวันที่ ในเซลล์อย่างไร? โดยการพิมพ์เข้าไปในเซลล์ ใช่ไหม? เราทุกคนรู้ว่าการพิมพ์เป็นเรื่องน่าเบื่อ ถ้าคุณมี 500 แถวในชุดข้อมูล? คุณจะไม่ชอบที่จะแทรกวันที่ทั้งหมดด้วยตนเองใน Excel แน่นอน!
นี่คือที่มาของ Date Picker ที่จะช่วยเรา มันคือปฏิทินแบบโผล่ขึ้นมา (pop-up calendar) ที่คุณสามารถใช้ แทรกวันที่ และควบคุมได้ โปรดดูภาพหน้าจอด้านล่าง:

คุณสามารถเห็น Date Picker ได้ที่นี่ ด้วยเครื่องมือนี้ คุณสามารถเลือกวันที่ใดๆ และดำเนินการต่างๆ ใน Microsoft Excel ได้
คู่มือทีละขั้นตอนสำหรับการแทรก Date Picker ใน Excel
ในส่วนต่อไป เราจะให้คู่มือทีละขั้นตอนสำหรับการแทรก Date Picker ใน Excel เราขอแนะนำให้คุณดูและเรียนรู้ขั้นตอนทั้งหมดอย่างใกล้ชิด มันช่วยพัฒนาความรู้ Excel ของคุณแน่นอน
1. เปิดใช้งานแท็บ Developer ใน Excel สำหรับ Date Picker
ก่อนอื่น เครื่องมือ Date Picker นี้มีให้ใช้งานเฉพาะในแท็บ Developer เท่านั้น ดังนั้น ก่อนเริ่มต้น คุณต้องเปิดใช้งานแท็บ Developer ใน Microsoft Excel ก่อน
มาเปิดใช้งานแท็บ Developer กันเลย
📌 ขั้นตอน
- ก่อนอื่น คลิกที่แท็บ File
- ต่อไป คลิกที่ Options (ตัวเลือก)

- ตอนนี้ จากกล่องโต้ตอบ Excel Options คลิกที่ตัวเลือก Customize Ribbon (ปรับแต่งริบบิ้น) ด้านซ้าย

- จากด้านขวาของหน้าต่าง เลือก Main Tabs (แท็บหลัก)
- สุดท้าย ติ๊กเครื่องหมายที่กล่อง Developer

ตามที่คุณเห็นจากริบบิ้น Excel เราสำเร็จในการเพิ่มแท็บ Developer ใน Microsoft Excel แล้ว
อ่านเพิ่มเติม: วิธีแทรกวันและวันที่ใน Excel (3 วิธี)
2. แทรก Date Picker
ถึงเวลาแทรก Date Picker ในเวิร์กชีทแล้ว ทำตามขั้นตอนเหล่านี้เพื่อทำได้
📌 ขั้นตอน
- ก่อนอื่น ไปที่แท็บ Developer
- จากแท็บ Controls คลิกที่ Insert (แทรก)

- จาก ActiveX Controls คลิกที่ More Controls (ควบคุมเพิ่มเติม)

- ตอนนี้ เลือก Microsoft Date and Time Picker Control 6.0 (SP6) จากกล่องโต้ตอบ More Controls

- หลังจากนั้น คลิก OK
- สุดท้าย คลิกที่เซลล์ที่คุณต้องการแทรก Date Picker

ตามที่คุณเห็น เราได้แทรกตัวควบคุม Date Picker ในเซลล์แล้ว
เมื่อคุณแทรกตัวควบคุม Date Picker ในเวิร์กชีท คุณจะเห็นสูตร EMBEDDED ในแถบสูตร

นี่หมายถึงประเภทของตัวควบคุมที่ฝังอยู่ในเวิร์กชีทนี้ จำไว้ว่า คุณ ไม่สามารถเปลี่ยนแปลงได้ จะแสดงข้อผิดพลาด "Reference not valid" (การอ้างอิงไม่ถูกต้อง) หากคุณทำอย่างนั้น
อ่านเพิ่มเติม: วิธีรวมวันที่และเวลาในเซลล์เดียวใน Excel (4 วิธี)
3. ปรับแต่ง Date Picker
คุณเห็นได้ว่า Date Picker ของเราดูไม่ค่อยดีอยู่ที่นี่ ดังนั้น เราต้องปรับแต่งให้ดูดีขึ้น
เมื่อคุณแทรก Date Picker โหมด Design (ออกแบบ) จะเปิดใช้งานโดยอัตโนมัติ มันอนุญาตให้คุณแก้ไขได้ และเราจะทำกันเลย เราจะปรับขนาดและเปลี่ยนคุณสมบัติบางอย่าง
📌 ขั้นตอน
- เพื่อทำให้ใหญ่หรือเล็กลง คุณสามารถลาก Date Picker ได้โดยตรง

- ในขณะที่โหมด Design เปิดอยู่ คลิกขวาที่ Date Picker จากนั้นคลิก Properties (คุณสมบัติ)

- ที่นี่ คุณจะเห็นตัวเลือกต่างๆ เราจะทำงานกับบางส่วน

- คุณสามารถเปลี่ยนความสูง ความกว้าง ฟอนต์ สี ฯลฯ ได้
- ตอนนี้ ลาก Date Picker ไปที่ตำแหน่งของเซลล์ที่คุณต้องการวาง

ตอนนี้ Date Picker ของเรเกือบพร้อมแล้ว ทุกสิ่งที่เหลือคือการเชื่อมโยงปฏิทินกับเซลล์
อ่านเพิ่มเติม: วิธีแทรกวันที่ในส่วนท้าย (Footer) ใน Excel (3 วิธี)
4. เชื่อมโยงตัวควบคุม Date Picker กับเซลล์
คุณอาจคิดว่าเราแทรกแล้ว สามารถดำเนินการได้เลย แต่ที่นี่มีจุดสำคัญ คุณ ไม่สามารถ ดำเนินการใดๆ ได้โดยไม่เชื่อมโยง Date Picker กับเซลล์ Microsoft Excel จะไม่รับรู้วันที่ที่เกี่ยวข้องกับเซลล์ใดๆ โดยอัตโนมัติ จำไว้ว่า ไม่มีสูตรใดจะทำงานได้โดยไม่มีการเชื่อมโยงนี้
📌 ขั้นตอน
- ก่อนอื่น คลิกขวาที่ Date Picker

- จากเมนูบริบท (contextual menu) คลิก Properties

- ตอนนี้ ในตัวเลือก Linked Cell (เซลล์ที่เชื่อมโยง) พิมพ์อ้างอิงเซลล์ที่คุณต้องการเชื่อมต่อ

- เมื่อคุณเลือกวันที่จากปฏิทิน คุณจะเห็นวันที่ในเซลล์ที่เชื่อมโยงโดยอัตโนมัติ คลิก OK หาก Excel แสดงข้อผิดพลาด "Can't set cell value to NULL…"
- เพื่อยอมรับค่า Null ให้เปลี่ยนค่าจาก FALSE เป็น TRUE ใน CheckBox

- หากคุณคลิกขวาที่ Date Picker และคลิก View Code (ดูโค้ด) คุณจะเห็นโค้ด VBA ที่เกี่ยวข้องกับมัน

อ่านเพิ่มเติม: Excel ใส่วันที่อัตโนมัติเมื่อมีการป้อนข้อมูล (7 วิธีง่ายๆ)
วิธีแทรก Date Picker สำหรับคอลัมน์ทั้งคอลัมน์ใน Excel
สิ่งที่เราทำไปจนถึงตอนนี้คือแทรก Date Picker ในเซลล์เดียว เราสามารถแทรก Date Picker ในช่วงของเซลล์หรือคอลัมน์เฉพาะได้ ทุกครั้งที่คุณคลิกที่เซลล์ ปฏิทินจะโผล่ขึ้นมา และคุณสามารถเลือกวันที่ได้ ในส่วนต่อไป เราจะแสดงวิธีแทรกทั้งคอลัมน์เดียวและหลายคอลัมน์
1. แทรก Date Picker สำหรับคอลัมน์เดียว
📌 ขั้นตอน
- เพื่อกำหนด Date Picker ให้คอลัมน์ทั้งคอลัมน์ ให้คลิกขวาที่ Date Picker จากนั้นคลิก View Code

- หลังจากนั้น คุณจะเห็นโค้ดบางส่วน หากคุณเคยปรับแต่ง
- ตอนนี้ ล้างโค้ด VBA และพิมพ์โค้ดต่อไปนี้ที่เราแสดง:
Sub Worksheet_SelectionChange(ByVal Target As Range) With Sheet1.DTPicker1 .Height = 20 .Width = 20 If Not Intersect(Target, Range("B:B")) Is Nothing Then .Visible = True .Top = Target.Top .Left = Target.Offset(0, 1).Left .LinkedCell = Target.Address Else .Visible = False End If End With End Sub
โค้ดนี้ตั้งค่าคอลัมน์ B ให้เป็น Date Picker
- ตอนนี้ ยกเลิกการเลือกโหมด Design mode
- หลังจากนั้น คลิกที่เซลล์ใดๆ เพื่อเอา Date Picker ออก
- ตอนนี้ คลิกที่เซลล์ใดๆ ของคอลัมน์ B คุณจะเห็นตัวควบคุม Date Picker จากทุกเซลล์

คำอธิบายโค้ด:
With Sheet1.DTPicker1 .Height = 20 .Width = 20
โค้ดนี้แสดงหมายเลขชีต (จำหมายเลขชีตของคุณแม้คุณจะเปลี่ยนชื่อ) และหมายเลข Date Picker ที่นี่ เรามี sheet1 (ชีต Basic Datepicker) และ date picker 1 ความสูงและความกว้างที่คุณตั้งค่าด้วยตนเอง
If Not Intersect(Target, Range("B:B")) Is Nothing Then .Visible = True
โค้ดนี้แสดงว่า หากเลือกเซลล์ใดๆ ของคอลัมน์ B Date Picker จะมองเห็นได้ หรือคุณสามารถตั้งช่วงกำหนดเองได้ เช่น Range(“B5:B14”) จะตั้ง Date Picker เฉพาะเซลล์เหล่านั้นในคอลัมน์ B เท่านั้น
.Top = Target.Top .Left = Target.Offset(0, 1).Left .LinkedCell = Target.Address
คุณสมบัติ "Top" หมายถึงมันจะไปพร้อมกับขอบบนของเซลล์ที่กำหนด เทียบเท่ากับค่า "top" ของเซลล์ที่ระบุ
คุณสมบัติ "Left" เทียบเท่ากับเซลล์ข้างขวาถัดไป (ของเซลล์ที่คุณระบุ) คือความยาวของขอบซ้ายจากด้านซ้ายสุดของเวิร์กชีท เราใช้ฟังก์ชัน offset เพื่อรับอ้างอิงเซลล์ของเซลล์ขวา
"LinkedCell" เชื่อมโยง Date Picker กับเซลล์เป้าหมาย เมื่อเราเลือกวันที่จากดรอปดาวน์ มันจะอนุญาตให้ใส่ในเซลล์นั้น
Else .Visible = False
เมื่อคุณเลือกเซลล์อื่นที่ไม่ใช่เซลล์ของคอลัมน์ B Date Picker จะไม่แสดง
2. แทรก Date Picker สำหรับหลายคอลัมน์
ตอนนี้ หากคุณต้องการตั้งค่าหลายคอลัมน์ด้วย Date Picker คุณต้องทำการเปลี่ยนแปลงเล็กน้อย จำไว้ว่า ก่อนที่จะตั้งค่าหลายคอลัมน์ด้วย Date Picker คุณต้องแทรก Date Picker อีกตัวอีกครั้ง
หากคุณต้องการตั้ง Date Picker สำหรับคอลัมน์ที่ติดกัน คุณไม่ต้องเขียนโค้ดเพิ่ม แค่เปลี่ยนในส่วน IF:
If Not Intersect(Target, Range("C:D")) Is Nothing Then
โค้ดต่อไปนี้จะตั้ง Date Picker ให้คอลัมน์ B, D, E, G:
ที่นี่ เราไม่ได้กำหนด Date Picker ให้คอลัมน์ทั้งหมด แทนที่จะเป็นเช่นนั้น เราแทรกในช่วงของเซลล์ Date picker 1 สำหรับ B5:B14, Date picker 2 สำหรับ D5:E14, และ Date picker 3 สำหรับ G5:G14
Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Sheet1.DTPicker1 .Height = 20 .Width = 20 If Not Intersect(Target, Range("B5:B14")) Is Nothing Then .Visible = True .Top = Target.Top .Left = Target.Offset(0, 1).Left .LinkedCell = Target.Address Else .Visible = False End If End With With Sheet1.DTPicker2 .Height = 20 .Width = 20 If Not Intersect(Target, Range("D5:E14")) Is Nothing Then .Visible = True .Top = Target.Top .Left = Target.Offset(0, 1).Left .LinkedCell = Target.Address Else .Visible = False End If End With With Sheet1.DTPicker3 .Height = 20 .Width = 20 If Not Intersect(Target, Range("H5:H14")) Is Nothing Then .Visible = True .Top = Target.Top .Left = Target.Offset(0, 1).Left .LinkedCell = Target.Address Else .Visible = False End If End With End Sub
ดูที่นี่ เรามี Date Picker 3 ตัว ตัวหนึ่งสำหรับคอลัมน์ B ตัวหนึ่งสำหรับคอลัมน์ D และ E รวมกัน และอีกตัวสำหรับคอลัมน์ G หลังจากคลิกที่แต่ละเซลล์ของคอลัมน์เหล่านี้ คุณจะเห็นปฏิทิน ด้วยวิธีนี้ คุณสามารถแทรก Date Picker สำหรับหลายคอลัมน์ใน Excel ได้

ปัญหาใหญ่กับ Date Picker ใน Excel
หากคุณใช้ Microsoft Excel 64-bit หรือใช้ Excel 365 หรือ Excel 2019 คุณอาจสับสนอยู่แล้ว เพราะคุณ ไม่พบ Date Picker ในตัวควบคุม ActiveX
เราขออภัย Microsoft Date Picker control มีให้ใช้งานเฉพาะใน Excel 2016, Excel 2013, และ Excel 2010 รุ่น 32-bit เท่านั้น และจะไม่ทำงานบน Excel 64-bit ดังนั้น หากคุณต้องการแทรกปฏิทินในเวิร์กชีทจริงๆ ให้ใช้ปฏิทินของบุคคลที่สาม หวังว่า Microsoft จะนำ Date Picker ใดๆ มาในอนาคต
💬 สิ่งที่ควรจำ
✎ ตรวจสอบให้แน่ใจว่าเชื่อมโยง Date Picker กับเซลล์ หากคุณกำลังทำงานกับมัน
✎ ไฟล์ของคุณควรบันทึกเป็น Macro-Enabled Workbook (.xlsm)
✎ เพื่อทำการเปลี่ยนแปลงใดๆ กับ Date Picker ตรวจสอบให้แน่ใจว่าเลือกมันจากแท็บ Developer
✎ เพื่อดูการเปลี่ยนแปลงจากโค้ด VBA ให้ยกเลิกการเลือก Date Picker
สรุป
โดยสรุป หวังว่าบทช่วยสอนนี้ได้ให้ความรู้ที่มีประโยชน์แก่คุณในการแทรก Date Picker ใน Excel เราขอแนะนำให้คุณเรียนรู้และนำไปประยุกต์ใช้กับชุดข้อมูลของคุณ ดาวน์โหลดสมุดงานฝึกหัดและลองทำเอง นอกจากนี้ ยินดีรับฟังข้อเสนอแนะในส่วนความคิดเห็น ข้อเสนอแนะที่มีค่าของคุณทำให้เรามีแรงจูงใจสร้างบทช่วยสอนแบบนี้ต่อไป
อย่าลืมเยี่ยมชมเว็บไซต์ Exceldemy.com สำหรับปัญหาและวิธีแก้ไขเกี่ยวกับ Excel ต่างๆ
เรียนรู้วิธีใหม่ๆ และเติบโตต่อไป!
บทความที่เกี่ยวข้อง
- วิธีแสดงวันของสัปดาห์จากวันที่ใน Excel (8 วิธี)
- แทรกวันที่บันทึกล่าสุดใน Excel (4 ตัวอย่าง)
- วิธีป้อนเวลาใน Excel (5 วิธี)
- เปลี่ยนวันที่อัตโนมัติโดยใช้สูตรใน Excel
- วิธี auto populate date ใน Excel เมื่อเซลล์ถูกอัปเดต