Page 2 of 3

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Wed Nov 30, 2011 10:09 am
by raycity
ทำให้ เวลาเดินหลายๆ Sheet ได้ไหมครับ

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Wed Nov 30, 2011 10:14 am
by snasui
:D เขียนอธิบายรายละเอียดประกอบคำถามด้วยครับ ต้องการให้แสดงในเซลล์ไหน ชีทไหน อย่างไร

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Wed Nov 30, 2011 6:33 pm
by raycity
อยากให้เวลาเดินอยู่ที่ Sheet3 A1 ครับ
และอยากให้ไ gameover อยู่ที่ Sheet2 เหมือนเดิมครับ แต่ทำไปเวลามันไม่เดิน แล้วมันเด้งไป Sheet2 ในเวลา 1 วินาที ครับ
อยากให้เวลามันเดินอะครับ

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Wed Nov 30, 2011 6:47 pm
by snasui
:D Code ด้านล่างนี้เวลาเดินอยู่ที่ Sheet3 เซลล์ A1 หลังจากหมดเวลาจะเปิด Sheet2 เพื่อแสดงคำว่า Game Over

Code: Select all

Sub Timer()
    CountDown = Now + TimeValue("00:00:01")
    Application.OnTime CountDown, "Reset"
End Sub
Sub Reset()
    Dim count As Range
    Set count = Worksheets("Sheet3").[A1]
    On Error Resume Next
    count.Value = count.Value - TimeValue("0:00:01")
        If count <= 0 Then
                 Worksheets("Sheet2").Select
            Exit Sub
        End If
    Call Timer
End Sub
Sub DisableTimer()
    On Error Resume Next
        Application.OnTime EarliestTime:=CountDown, Procedure:="Reset", Schedule:=False
End Sub
Sub StartTime()
    Worksheets("Sheet3").[A1].Value = TimeValue("00:05:00")
    Worksheets("Sheet3").[A1].NumberFormat = "h:mm:ss"
    Call Timer
End Sub

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Wed Nov 30, 2011 7:11 pm
by raycity
ไม่ได้อะครับ
Sheet3เวลาไม่เดิน นะครับ
ดูตัวอย่างของผมที่ผมทำแล้วน๊ะครับ

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Wed Nov 30, 2011 7:42 pm
by raycity
ทำไมเวลาไม่ออกครับ

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Wed Nov 30, 2011 7:58 pm
by snasui
raycity wrote:ไม่ได้อะครับ
Sheet3เวลาไม่เดิน นะครับ
ดูตัวอย่างของผมที่ผมทำแล้วน๊ะครับ
raycity wrote:ทำไมเวลาไม่ออกครับ
:twisted: ที่ทดสอบนั้นทดสอบอย่างไรครับ
ทำไมไม่ทดสอบ Code ที่ผมทำไปให้โดยไม่นำไปเปลี่ยนเป็นชื่ออื่นให้สับสนครับ
ผมอ่านทุก Comment ถ้าไม่จำเป็นและไม่มีคำอธิบายเพิ่มเติมไม่ควรโพสต์ถามซ้ำ ๆ ครับ :twisted:

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Thu Dec 01, 2011 9:02 am
by raycity
ผมอยาให้มัน จับเวลา หลาย ๆ Sheet นะครับ

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Thu Dec 01, 2011 9:52 am
by snasui
:D ถ้าเช่นนั้นก็เขียนอธิบายมาให้ชัดครับ

จับเวลาที่ชีทไหนบ้าง ด้วยเวลาเดียวกันหรือต่างชีทก็ต่างจับเวลาของตนเอง

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Thu Dec 01, 2011 10:44 am
by raycity
snasui wrote::D ถ้าเช่นนั้นก็เขียนอธิบายมาให้ชัดครับ

จับเวลาที่ชีทไหนบ้าง ด้วยเวลาเดียวกันหรือต่างชีทก็ต่างจับเวลาของตนเอง
จับที่ Sheet3 ต่างชีท ก้ต่างเวลากันครับ

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Thu Dec 01, 2011 12:58 pm
by snasui
:D ลองทดสอบ Code ตามด้านล่าง Assign Macro ที่ชื่อ StartTime ให้กับปุ่มใน Sheet1 และ StartTime1 ใน Sheet3 ครับ

Code: Select all

Sub Timer()
    CountDown = Now + TimeValue("00:00:01")
    Application.OnTime CountDown, "Reset"
End Sub

Sub Reset()
Dim count As Range
Set count = Worksheets("Sheet1").[A1]
On Error Resume Next
count.Value = count.Value - TimeValue("0:00:01")
    If count <= 0 Then
             Worksheets("Sheet2").Select
        Exit Sub
    End If
Call Timer
End Sub

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

Sub StartTime()
Worksheets("Sheet1").[A1].Value = TimeValue("00:05:00")
Worksheets("Sheet1").[A1].NumberFormat = "h: mm:ss"
Call Timer
End Sub

Sub Timer1()
    CountDown = Now + TimeValue("00:00:01")
    Application.OnTime CountDown, "Reset1"
End Sub

Sub Reset1()
Dim count As Range
Set count = Worksheets("Sheet3").[A1]
On Error Resume Next
count.Value = count.Value - TimeValue("0:00:01")
    If count <= 0 Then
             Worksheets("Sheet2").Select
        Exit Sub
    End If
Call Timer1
End Sub

Sub StartTime1()
Worksheets("Sheet3").[A1].Value = TimeValue("00:05:00")
Worksheets("Sheet3").[A1].NumberFormat = "h: mm:ss"
Call Timer1
End Sub

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Tue Jan 10, 2012 10:12 am
by opopza2013
คือผมเห็นไอปุ่มที่กดคำว่าstart ที่สีเทาๆอะครับ เอามาจากไหนหรอครับ

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Tue Jan 10, 2012 11:14 am
by snasui
:D ต้อง Insert Control เข้ามาครับ กรณีเป็น 2003 ดูที่นี่ครับ http://www.snasui.com/viewtopic.php?p=3488#p3488

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Tue Jan 10, 2012 2:54 pm
by opopza2013
ถ้าเป็น2007ทำไงหรอครับ

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Tue Jan 10, 2012 2:59 pm
by snasui
:D สามารถดูตัวอย่างตาม Link นี้ครับ http://www.snasui.com/viewtopic.php?p=4525#p4525

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Wed Jan 11, 2012 1:09 pm
by opopza2013
แล้วจะหยุดเวลาอย่างไรอะครับ แล้วก็พอกดเริ่มเกมส์ที่ไปหน้าเริ่มเกมส์อะครับ ให้เวลาเดินช่วยแก้แล้วแนบไฟล์ให้ดูหน่อยครับ

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Wed Jan 11, 2012 3:53 pm
by opopza2013
คือตัวควบคุมฟอร์มมันลิงค์ไปหน้าเริ่มเกมส์ไม่ได้ อยากทราบว่า ทำอย่างไรครับ

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Wed Jan 11, 2012 5:02 pm
by opopza2013

Code: Select all

Sub Button1_Click_Start()

End Sub
Sub Timer()
    CountDown = Now + TimeValue("00:00:01")
    Application.OnTime CountDown, "Reset"
End Sub
Sub Reset()
    Dim count As Range
    Set count = Worksheets("Sheet1").[A1]
    On Error Resume Next
    count.Value = count.Value - TimeValue("0:00:01")
        If count <= 0 Then
                 Worksheets("Sheet2").Select
            Exit Sub
        End If
    Call Timer
End Sub
Sub StartTime()
    Worksheets("Sheet1").[A1].Value = TimeValue("00:00:05")
    Worksheets("Sheet1").[A1].NumberFormat = "hh:mm:ss"
    Call Timer
End Sub
อันนี้ก็ได้ครับ แบบให้ตั้งเวลาง่ายๆ คือ ถ้ากดStart ก็จะให้เวลานับถอยหลังลงครับ แต่ไม่สามารถหยุดได้ จนกว่าจะหมดเวลา พอหมดเวลาแล้ว ก็จะขึ้นว่า Game Over ในชีสที่ 2 ครับ

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Wed Jan 11, 2012 6:52 pm
by snasui
:D ไฟล์ที่จะแนบ Code ได้ต้องเป็น .xlsm ครับ ช่วยแนบ Code เข้ามาในไฟล์ด้วยครับ จะได้ช่วยทดสอบได้

Re: ทำไงให้มันขึ้น Game Over ครับ

Posted: Wed Sep 05, 2012 11:25 pm
by jittaboy
ผมมีข้อสงสัยครับ โค้ด CountDown01.xls ตัวที่นับถอยหลังอ่ะครับ พอผมกด stop แล้ว กด Start อีกครั้ง การนับถอยหลังเวลาทำไมมันไม่นับเท่าเดิมครับ กลับเป็นว่า จาก นับถอยหลังทีละ1 ครั้งต่อมาหลังกด stop แล้ว start อีกครั้ง กลับเป็นว่าลดลงครั้งละ 2 แล้วต่อมากระทำอีกลดลงครั้งละ 3 และ ลดลงครั้งละ4 เพิ่มขึ้นเรื่อยๆ มีวิธีแก้ไหมครับ รบกวนผู้รู้ช่วยตอบหน่อยครับ ขอบคุณครับ ^__^