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

เขียนอธิบายรายละเอียดประกอบคำถามด้วยครับ ต้องการให้แสดงในเซลล์ไหน ชีทไหน อย่างไร
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

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:ทำไมเวลาไม่ออกครับ

ที่ทดสอบนั้นทดสอบอย่างไรครับ
ทำไมไม่ทดสอบ Code ที่ผมทำไปให้โดยไม่นำไปเปลี่ยนเป็นชื่ออื่นให้สับสนครับ
ผมอ่านทุก Comment ถ้าไม่จำเป็นและไม่มีคำอธิบายเพิ่มเติมไม่ควรโพสต์ถามซ้ำ ๆ ครับ

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

ถ้าเช่นนั้นก็เขียนอธิบายมาให้ชัดครับ
จับเวลาที่ชีทไหนบ้าง ด้วยเวลาเดียวกันหรือต่างชีทก็ต่างจับเวลาของตนเอง
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Thu Dec 01, 2011 10:44 am
by raycity
snasui wrote:
ถ้าเช่นนั้นก็เขียนอธิบายมาให้ชัดครับ
จับเวลาที่ชีทไหนบ้าง ด้วยเวลาเดียวกันหรือต่างชีทก็ต่างจับเวลาของตนเอง
จับที่ Sheet3 ต่างชีท ก้ต่างเวลากันครับ
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Thu Dec 01, 2011 12:58 pm
by snasui

ลองทดสอบ 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

ต้อง 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
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

ไฟล์ที่จะแนบ 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 เพิ่มขึ้นเรื่อยๆ มีวิธีแก้ไหมครับ รบกวนผู้รู้ช่วยตอบหน่อยครับ ขอบคุณครับ ^__^