Page 2 of 2

Re: เอาสูตรคิดเวลาร้านเน็ตแบบนาฬิกาตั้งเวลามาฝาก...Excel

Posted: Mon Jun 10, 2013 4:33 pm
by mssan
ครับอาจารย์ ผมจะให้โปรแกรมรันเวลาต่้อจาก โต๊ะที่ 30 ไปเรื่อยๆเช่น 31-32-33 อารายประมาณนี้ครับแล้วก้อจะให้ข้อมูลไปบันทึกที่ตารางอีกข้างครับขอบคุณมากครับอาจารย์

Re: เอาสูตรคิดเวลาร้านเน็ตแบบนาฬิกาตั้งเวลามาฝาก...Excel

Posted: Mon Jun 10, 2013 4:43 pm
by snasui
:D แก้ไขข้อความด้วยครับ คำว่า "อาราย" ควรเป็น "อะไร" แม้ผมจะไม่ได้เขียนไว้เป็นกฎแต่คิดว่าไม่ควรใช้ในหมวดนี้เช่นกัน หากต้องการแชทให้ไปที่หมวด Talk ครับ

Re: เอาสูตรคิดเวลาร้านเน็ตแบบนาฬิกาตั้งเวลามาฝาก...Excel

Posted: Thu Oct 17, 2013 2:14 pm
by CatEyePantip
เห็นหลายๆ ท่าน...ใช้งานแล้วมีปัญหา...พอดีว่างงานวันนี้...เลยจะมาตอบคำถามแทนท่าน "คนควน"

Re: เอาสูตรคิดเวลาร้านเน็ตแบบนาฬิกาตั้งเวลามาฝาก...Excel

Posted: Thu Oct 17, 2013 2:22 pm
by CatEyePantip
Image
คุณต้อง Enable มาโครเสียก่อน

Re: เอาสูตรคิดเวลาร้านเน็ตแบบนาฬิกาตั้งเวลามาฝาก...Excel

Posted: Thu Oct 17, 2013 2:30 pm
by CatEyePantip
Image

คุณต้องขยาย ดูนาฬิกาหาก มันแสดงผลเต็มช่อง

Re: เอาสูตรคิดเวลาร้านเน็ตแบบนาฬิกาตั้งเวลามาฝาก...Excel

Posted: Thu Oct 17, 2013 2:32 pm
by CatEyePantip
Image

คุณต้องขยาย ดูนาฬิกาหาก มันแสดงผลเต็มช่อง

Re: เอาสูตรคิดเวลาร้านเน็ตแบบนาฬิกาตั้งเวลามาฝาก...Excel

Posted: Thu Oct 17, 2013 2:36 pm
by CatEyePantip

Code: Select all

Option Explicit

Dim CountTime As Date

Sub Timer()
    Dim N As Integer
    CountTime = Now + TimeValue("00:00:01")
    Application.OnTime EarliestTime:=CountTime, Procedure:="Reset", Schedule:=True
    With Sheet1
            .Range("A1").Value = CountTime
            For N = 1 To 30  ' จำนวนโต๊ะปรับตามเซลล์ที่จะจับเวลา เช่น เปลี่ยน จาก 30 เป็น  100 (ยังไม่แค่นี้...ต้องลากเซลล์ที่ 30 คัดลอกสูตรลงไปถึง 100 ด้วยเพื่อให้แสดงผลเหมือนกัน)
            If .Range("B" & N + 2).Value = "OK" And .Range("D" & N + 2).Value = Empty _
                Then .Range("D" & N + 2).Value = Time()
            If .Range("B" & N + 2).Value = "NO" And .Range("D" & N + 2).Value <> Empty _
                Then .Range("D" & N + 2).Value = Empty
            If .Range("E" & Trim(Str(N + 2))).Value < Time Then
                MsgBox "โต๊ะ " & .Range("A" & N + 2).Value & " หมดเวลา" ' ตรงนี้คือข้อความที่จะแสดงว่าหมดเวลาขึ้นอย่างไร ปรับได้
                .Range("C" & N + 2).Value = Empty
            End If
        Next N
    End With
End Sub

Sub Reset()
    Call Timer
End Sub

Sub DisableTimer()
    On Error Resume Next
    Application.OnTime EarliestTime:=CountTime, Procedure:="Reset", Schedule:=False
End Sub

Re: เอาสูตรคิดเวลาร้านเน็ตแบบนาฬิกาตั้งเวลามาฝาก...Excel

Posted: Thu Oct 17, 2013 2:43 pm
by CatEyePantip
โปรแกรมเขียนขึ้นอย่างง่ายๆ อาจจะซับซ้อนสำหรับผู้เริ่มใช้งงานใหม่ๆ บางท่านอาจจะงง...ว่าทำไมไม่มีอะไรเกิดขึ้น...
1. เปิดใช้งานมาโคร
2. ปรับรูปแบบแสดงเวลาตามสูตรที่ต้องการ (เปลี่ยนหน้า sheet ไปมา)
3. กรอก "ตัวเลขนาที" ใน คอลัมภ์ "กี่นาที" โปรแกรมจะจับเวลานะ Enter ที่กรอกเสร็จ
4. ช่อง "สถานะ" มีไว้สำหรับให้โปรแกรมและคุณ ดูว่า มันถูกเริ่มจับเวลาหรือยัง (ถ้าข้อมูลและสูตรในช่องนี้...ไม่เป็น "OK" กับ "NO" มันจะไม่ทำงาน)
5. รู้หรือไม่ บรรทัดคำสั่ง If .Range("B" & N + 2).Value = "NO" And .Range("D" & N + 2).Value <> Empty _
Then .Range("D" & N + 2).Value = Empty คุณอาจจะตัดออกไปเพื่อ ให้โปรแกรมไม่ล้างเวลาทิ้ง...จึงสามารถคำนวณเงินได้เงินเสียได้ :mrgreen: