Text to column แล้ว วันที่ไม่ถูกต้อง
Posted: Fri Oct 14, 2022 12:31 pm
ผมมีปัญหาในการจัดรูปแบบวันที่โดยใช้โค๊ด VBA ครับ วันที่เดิมอยู่ในรูปแบบของ General เช่น '01/10/2022 ผมใช้ Text to column ใน
การตัดเครื่องหมาย ' ออก แล้วเปลี่ยนรูปแบบวันที่ให้อยู่ในรูปแบบ dd/mm/bb โดยใช้ VBA เพื่อเวลาทำเป็น Table แล้วจะสามารถ Sort
ข้อมูลได้ง่าย แต่วันที่ที่ได้หลังจากรันใช้โค๊ดกลับเป็น 10/01/65 ซึ่งไม่ตรงตามข้อมูลเดิม ผมลองทำตามขั้นตอนข้างต้นที่ได้กล่าวมาแบบ
ปกติโดยไม่ใช้โค๊ด วันที่ที่ได้ก็ถูกต้องตามปกติ โดยข้อมูลวันที่ที่เป็นปัญหาส่วนมากก็จะเป็นวันที่ที่สามารถสลับกับเดือนได้ครับ คือวันที่ 1-12
พอรันโค๊ดแล้วจะสลับกันตลอดครับ วันที่ของคอมพิวเตอร์ที่ใช้ก็ตั้งเป็น พุทธศักราช ครับในรูปแบบ 14/10/2565 เลยคิดว่าเป็นที่ Excel
จึงอยากทราบว่ามันเป็นปกติอยู่แล้วหรือไม่ครับเวลากำหนด Format ของวันที่สลับกันระหว่าง คริสต์ศักราช กับ พุทธศักราช หรือสามารถมีวิธี
สามารถแก้ปัญหานี้ได้หรือไม่ครับ โดยโค๊ดที่ใช้เป็นดังนี้ครับ
การตัดเครื่องหมาย ' ออก แล้วเปลี่ยนรูปแบบวันที่ให้อยู่ในรูปแบบ dd/mm/bb โดยใช้ VBA เพื่อเวลาทำเป็น Table แล้วจะสามารถ Sort
ข้อมูลได้ง่าย แต่วันที่ที่ได้หลังจากรันใช้โค๊ดกลับเป็น 10/01/65 ซึ่งไม่ตรงตามข้อมูลเดิม ผมลองทำตามขั้นตอนข้างต้นที่ได้กล่าวมาแบบ
ปกติโดยไม่ใช้โค๊ด วันที่ที่ได้ก็ถูกต้องตามปกติ โดยข้อมูลวันที่ที่เป็นปัญหาส่วนมากก็จะเป็นวันที่ที่สามารถสลับกับเดือนได้ครับ คือวันที่ 1-12
พอรันโค๊ดแล้วจะสลับกันตลอดครับ วันที่ของคอมพิวเตอร์ที่ใช้ก็ตั้งเป็น พุทธศักราช ครับในรูปแบบ 14/10/2565 เลยคิดว่าเป็นที่ Excel
จึงอยากทราบว่ามันเป็นปกติอยู่แล้วหรือไม่ครับเวลากำหนด Format ของวันที่สลับกันระหว่าง คริสต์ศักราช กับ พุทธศักราช หรือสามารถมีวิธี
สามารถแก้ปัญหานี้ได้หรือไม่ครับ โดยโค๊ดที่ใช้เป็นดังนี้ครับ
Code: Select all
....
Range("Export_Report[วันที่จ่าย]").Select 'คอลัมน์วันที่ที่ต้องการเปลี่ยนรูปแบบ
Selection.NumberFormat = "dd-mmm-bb"
Selection.TextToColumns Destination:=Range("Export_Report[วันที่จ่าย]"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
....