วิธีจัดรูปแบบวันที่ด้วย VBA ใน Excel (4 วิธี)

  • แบ่งปันสิ่งนี้
Hugh West

การใช้ แมโคร 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 ฉันหวังว่าบทความนี้มีประโยชน์มากสำหรับคุณ อย่าลังเลที่จะถามหากคุณมีคำถามเกี่ยวกับหัวข้อนี้

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง