Page 1 of 1

VBA แสดงเวลาแบบ real time

Posted: Mon Jul 21, 2014 4:55 pm
by liveday
ผมต้องการให้แสดงเวลาแบบ real time ที่มีรูปแบบเป็น h:mm:ss ในเซลล์ B1 ของ worksheet ชื่อ Sheet1 ต้องเขียนเพิ่มเติมอย่างไรครับ

Re: VBA แสดงเวลาแบบ real time

Posted: Mon Jul 21, 2014 5:03 pm
by snasui
:D ที่เขียนมาเองแล้วชื่อ Procedure อะไร ติดขัดบรรทัดใคครับ

Re: VBA แสดงเวลาแบบ real time

Posted: Tue Jul 22, 2014 11:24 am
by liveday
ผมต้องการให้แสดงเวลา ที่ช่อง B1 เป็น real time เมื่อเราเปิดไฟล์ขึ้นมาทุกครั้งครับ ก็เลยใช้สูตร VBA แต่ไม่ยอมแสดงผลครับขึ้น สูตรที่ใช้

Code: Select all

Sub mytime()

Worksheets(“Sheet1”).Cells(1,2).Value = Format(Now,”h:mm:ss”)

End Sub
ขึ้น Compile error:Syntax error ครับ

Re: VBA แสดงเวลาแบบ real time

Posted: Tue Jul 22, 2014 11:45 am
by bank9597
:D ลองดูครับ

ปรับโค๊ดเป็น

Code: Select all

Sub mytime()
    Worksheets("Sheet1").Range("B1") = Now()
End Sub
ใน VBE หน้า This Workbook ใส่โค๊ด

Code: Select all

Private Sub Workbook_Open()
    Call mytime
End Sub
ที่ชีท 1 Cell B1 ปรับรูปแบบเซลล์ตามต้องการ

Re: VBA แสดงเวลาแบบ real time

Posted: Tue Jul 22, 2014 3:33 pm
by liveday
สูตรใช้ได้แล้วครับตอนเปิดไฟล์ อยากถามเพิ่มว่าเราสามารถให้เวลาทำงานเดินต่อไปได้อีกหรือเปล่าครับแบบเป็น real time ครับ ขอบคุณครับ

Re: VBA แสดงเวลาแบบ real time

Posted: Tue Jul 22, 2014 4:03 pm
by bank9597
liveday wrote:สูตรใช้ได้แล้วครับตอนเปิดไฟล์ อยากถามเพิ่มว่าเราสามารถให้เวลาทำงานเดินต่อไปได้อีกหรือเปล่าครับแบบเป็น real time ครับ ขอบคุณครับ
:D ได้ครับ ลองเขียนโค๊ดมาดูกันครับ

Re: VBA แสดงเวลาแบบ real time

Posted: Tue Jul 22, 2014 4:18 pm
by niwat2811
ลองค้นหาข้อมูลจากอินเตอร์เน็ตแล้วได้ข้อมูลมาอย่างนี้ไม่ทราบตรงตามต้องการไหม ลองดูครับ
In ThisWorkbook Module:

Code: Select all

Private Sub Workbook_Open()
    UpdateClock
End Sub
In a Standard Module:

Code: Select all

Sub UpdateClock()
    With Sheets("Sheet1").Range("B1")
        .FormulaR1C1 = "=NOW()"
        .NumberFormat = "dd/mm/yyyy h:mm:ss"
    End With
    Application.OnTime Now() + TimeValue("00:00:01"), "UpdateClock"
End Sub