มีทางออกคือ! วางรหัส VBA นี้ในโมดูลแผ่นงานของคุณเช่น:
- เปิดตัวแก้ไข Visual Basic ( Alt- F11)
- ในมุมมองด้านซ้ายบนให้ดับเบิลคลิกที่แผ่นงานที่คุณต้องการป้อนเวลา
- ในแผงรหัสกลางวางรหัสด้านล่าง
- ปิด VBE
ใช้รหัสนี้:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value < 0 Or Target.Value > 1 And Target.NumberFormat <> "h:mm" Then Exit Sub
Application.EnableEvents = False
Target.Value = Target.Value / 60
Target.NumberFormat = "mm:ss"
Application.EnableEvents = True
End Sub
ในกรณีที่คุณจัดรูปแบบช่วงที่คุณป้อนข้อมูลไว้ให้ใช้บรรทัดนี้แทนบรรทัดแรก:
If Target.Value < 0 Or Target.Value > 1 Then Exit Sub
โปรดทราบว่าสิ่งนี้จะเปลี่ยนค่าและรูปแบบ - ทุกครั้งที่คุณป้อนอย่างใดอย่างหนึ่ง - หรือสิ่งที่อยู่ระหว่าง 0 ถึง 1! หากคุณต้องการ จำกัด ไว้ในคอลัมน์ที่ต้องการให้เพิ่มบรรทัดนี้:
If Target.Column <> 3 Then Exit Sub
หรือบรรทัดนี้เพื่อ จำกัด ให้อยู่ในช่วงที่กำหนด
If Intersect(Target, Range("A2:A100") Is Nothing Then Exit Sub
59
,[MM]:SS
รูปแบบมือถือเป็น ไลค์:02:10:45
จะแสดงเป็น130:45
แทน แต่เห็นได้ชัดว่าไม่สามารถใช้งานได้กับอินพุต