มิลลิวินาทีจะถูกปัดเศษเป็นที่สองที่ใกล้ที่สุดเมื่อคุณพยายามกำหนดรูปแบบวันที่ VBA หรือรูปแบบวันที่ตัวแปรไปยังเซลล์ในเวิร์กชีต Excel


อาการ


เมื่อคุณทำการเปลี่ยนแปลงโดยทางโปรแกรมไปยังค่าในเซลล์ในเวิร์กชีต Microsoft Excel ค่ามิลลิวินาทีที่คุณระบุจะถูกปัดเศษเป็นที่สองที่ใกล้ที่สุด ปัญหานี้เกิดขึ้นเมื่อเงื่อนไขต่อไปนี้เป็นจริง:
  • การเปลี่ยนแปลงที่คุณทำจะกำหนดรูปแบบวันที่ VBA หรือรูปแบบวันที่ตัวแปรไปยังเซลล์
  • คุณทำการเปลี่ยนแปลงโดยทางโปรแกรมโดยใช้แมโคร Visual Basic for แอปพลิเคชันหรือโดยการใช้ไคลเอ็นต์การทำงานอัตโนมัติภายนอก
ปัญหานี้เกิดขึ้นเมื่อมีการเปลี่ยนแปลงที่คุณทำกำหนดรูปแบบวันที่หรือรูปแบบเวลาไปยังเซลล์

สาเหตุ


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

วิธีแก้ไขปัญหาชั่วคราว


ใช้วิธีการใดวิธีการหนึ่งต่อไปนี้เพื่อแก้ไขปัญหานี้

วิธีที่ 1

คุณสามารถแปลงค่าวันที่เป็นรูปแบบสตริงที่มีเศษส่วนของตัวที่สองได้ ค่าสตริงนี้สามารถกำหนดให้และคำนวณเป็นรูปแบบวันที่ที่ยังคงมิลลิวินาที

วิธีที่ 2

คุณสามารถใช้คุณสมบัติ Value2 ของวัตถุช่วงเพื่อรักษามิลลิวินาที ตัวอย่างเช่นคุณสามารถใช้โค้ด VBA ต่อไปนี้
Sub CopyValueUsingVBDate()   Dim d As Date   d = ActiveSheet.Range("A1").Value   ActiveSheet.Range("B1").Value2 = dEnd Sub
สำหรับข้อมูลเพิ่มเติมให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
๑๘๒๘๑๒ คำอธิบายของคุณสมบัติ Value2 สำหรับวัตถุช่วง