สารบัญ
การใช้ แมโคร VBA เป็นวิธีที่มีประสิทธิภาพสูงสุด รวดเร็วที่สุด และปลอดภัยที่สุดในการเรียกใช้การดำเนินการใดๆ ใน Excel ในบทความนี้ เราจะแสดงวิธีจัดรูปแบบวันที่ใน Excel โดยใช้ VBA
ดาวน์โหลดสมุดงาน
คุณสามารถดาวน์โหลดแบบฝึกหัดได้ฟรี สมุดงาน Excel จากที่นี่
จัดรูปแบบวันที่ด้วย VBA.xlsm
4 วิธีการจัดรูปแบบวันที่ใน Excel ด้วย VBA
ดูตัวอย่างต่อไปนี้ เราจัดเก็บวันที่เดียวกันทั้งใน คอลัมน์ B และ C ดังนั้นเมื่อเราจัดรูปแบบวันที่ใน คอลัมน์ C คุณจะทราบได้จาก คอลัมน์ B วันที่อยู่ในรูปแบบใดก่อน
1. VBA เพื่อจัดรูปแบบวันที่จากประเภทหนึ่งไปยังอีกประเภทหนึ่งใน Excel
ก่อนอื่นมาทราบวิธีจัดรูปแบบวันที่จาก เซลล์ C5 ในชุดข้อมูลที่กำหนดด้วย VBA เป็น “ วันอังคาร-มกราคม-2022 ”.
ขั้นตอน:
- กด Alt + F11 บนแป้นพิมพ์ของคุณ หรือไปที่แท็บ นักพัฒนาซอฟต์แวร์ -> Visual Basic เพื่อเปิด Visual Basic Editor .
- ในหน้าต่างรหัสป๊อปอัป จากแถบเมนู คลิก แทรก -> โมดูล .
- คัดลอกโค้ดต่อไปนี้และวางลงในหน้าต่างโค้ด
6934
โค้ดของคุณ พร้อมที่จะทำงานแล้ว
- กด F5 บนแป้นพิมพ์หรือจากแถบเมนู เลือก เรียกใช้ -> เรียกใช้ Sub/UserForm คุณยังสามารถคลิกที่ ไอคอนเล่นขนาดเล็ก ในแถบเมนูย่อยเพื่อเรียกใช้มาโคร
รหัสนี้จะจัดรูปแบบวันที่ “ 11-01-22 ” เป็น “ วันอังคาร-มกราคม-2022 ”.
คุณยังสามารถแปลงวันที่รูปแบบนี้เป็นรูปแบบอื่นๆ ได้อีกมากมาย เพียงทำตามโค้ดด้านล่างเพื่อแปลงวันที่เป็นรูปแบบที่คุณต้องการ
6834
ภาพรวม
อ่านเพิ่มเติม: ตอนนี้และจัดรูปแบบฟังก์ชันใน Excel VBA
2. ฝัง VBA เพื่อแปลงวันที่ด้วยฟังก์ชัน FORMAT
Excel มีหมายเลขซีเรียลสำหรับแต่ละวันที่ หากคุณต้องการทราบหมายเลขซีเรียลของวันที่ใด ๆ
คุณจะต้องใช้ ฟังก์ชัน DATEVALUE
สมมติว่าคุณต้องการทราบหมายเลขซีเรียลของ วันที่ “ 11 มกราคม 2022 ” จากนั้นคุณต้องเขียนสูตรเป็น
=DATEVALUE("11 January 2022")
Excel จะให้ซีเรียลนัมเบอร์ 4 Sub FormatDateValue() 'Original Date is "11-01-22" Range("C5").NumberFormat = "dd" 'This will format the date to "11" Range("C6").NumberFormat = "ddd" 'This will format the date to "Tue" Range("C7").NumberFormat = "dddd" 'This will format the date to "Tuesday" Range("C8").NumberFormat = "m" 'This will format the date to "1" Range("C9").NumberFormat = "mm" 'This will format the date to "01" Range("C10").NumberFormat = "mmm" 'This will format the date to "Jan" Range("C11").NumberFormat = "yy" 'This will format the date to "22" Range("C12").NumberFormat = "yyyy" 'This will format the date to "2022" Range("C13").NumberFormat = "dd-mm" 'This will format the date to "11-01" Range("C14").NumberFormat = "mm-yyy" 'This will format the date to "01-2022" Range("C15").NumberFormat = "mmm-yyy" 'This will format the date to "Jan-2022" Range("C16").NumberFormat = "dd-yy" 'This will format the date to "11-22" Range("C17").NumberFormat = "ddd yyyy" 'This will format the date to "Tue 2022" Range("C18").NumberFormat = "dddd-yyyy" 'This will format the date to "Tuesday-2022" Range("C19").NumberFormat = "dd-mmm" 'This will format the date to "11-Jan" Range("C20").NumberFormat = "dddd-mmmm" 'This will format the date to "Tuesday-January" End Sub
ของวันที่นี้
ตอนนี้เราจะแปลงตัวเลขนี้เป็นรูปแบบวันที่ที่เกี่ยวข้อง
ขั้นตอน:
- เช่นเดียวกับก่อนหน้านี้ เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างรหัส
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
9749
โค้ดของคุณพร้อมทำงานแล้ว
คุณจะ รับวันที่ “ 11 มกราคม 2022 ” ในกล่องข้อความ
อ่านเพิ่มเติม: วิธีใช้ฟังก์ชัน VBA DateValue ใน Excel
การอ่านที่คล้ายกัน
- วิธีแทรกวันที่ปัจจุบันใน Excel (3 วิธี)
- ตัวแปรวันที่ในรหัส VBA (7 การใช้มาโครพร้อมตัวอย่าง)
- รับวันที่ปัจจุบันใน VBA ( 3 วิธี)
- วิธีใช้ทางลัดวันที่ของ Excel
3. VBA เพื่อแปลงวันที่ตามส่วนเฉพาะใน Excel
สมมติว่าคุณต้องการจัดรูปแบบเฉพาะส่วนของวันที่ เช่น เฉพาะวัน/เดือน/ปี จากนั้นเขียนโค้ดเป็น
2290
โค้ดของคุณพร้อมเรียกใช้แล้ว
" mmmm " ในโค้ดนี้หมายถึงรูปแบบยาวของเดือน ชื่อ
เนื่องจากวันที่คือ “ 11 มกราคม 2022 ” ดังนั้นโค้ดส่วนนี้จะส่งคืน “ มกราคม ”
คุณสามารถใช้โค้ดนี้เพื่อจัดรูปแบบและแยกส่วนที่ต้องการจากวันที่
4572
ภาพรวม
4. แทรก VBA เพื่อจัดรูปแบบวันที่ในแผ่นงานเฉพาะใน Excel
หากคุณต้องการจัดรูปแบบวันที่ตามแผ่นงานเฉพาะ ก่อนอื่นคุณต้องตั้งชื่อแผ่นงานในรหัส จากนั้นจัดรูปแบบวันที่ ตามประเภทที่คุณต้องการ
- เปิด Visual Basic Editor จากแท็บ นักพัฒนาซอฟต์แวร์ และ แทรก a โมดูล ในหน้าต่างโค้ด
- ในหน้าต่างโค้ด ให้คัดลอกโค้ดต่อไปนี้แล้ววาง
7057
โค้ดของคุณพร้อมเรียกใช้แล้ว
ดูที่บรรทัดที่ 3 ของโค้ด โดยที่เราตั้งค่าแผ่นงาน “ ตัวอย่าง ” ก่อน จากนั้นจึงจัดรูปแบบวันที่ของ Excel นั้นแผ่นงาน
สรุป
บทความนี้แสดงวิธีจัดรูปแบบวันที่ใน Excel ด้วย VBA ฉันหวังว่าบทความนี้มีประโยชน์มากสำหรับคุณ อย่าลังเลที่จะถามหากคุณมีคำถามเกี่ยวกับหัวข้อนี้