Page 1 of 3
ทำไงให้มันขึ้น Game Over ครับ
Posted: Thu Dec 09, 2010 12:54 pm
by chaiyo2541
สมมุติว่าตั้งเวลาไว้ 1 นาที่ พอหมด 1 นาที มันจะขึ้นว่า Game Over อะครับ ทำยังไงหรอครับ
บอกวิธีทำด้วยนะครับ ว่ากดปุ่มไหนยังไง
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Thu Dec 09, 2010 1:17 pm
by snasui
ส่งไฟล์ตัวอย่างมาด้วยครับ ต้องการให้ชีทไหน เซลล์ไหนแสดงค่าอย่างไร การทำงานกับ VBA และผู้ถามไม่มีความรู้พื้นฐานมาบ้างนั้นไม่ง่ายนัก ต้องค่อย ๆ ทำความเข้าใจไปครับ
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Thu Dec 09, 2010 2:45 pm
by chaiyo2541
ทำยังไงหรอครับ แบบพอหมดเวลา 30 นาที แล้วมันจะขึ้น Game Over อะครับ
ช่วยบอกวิธีการทำด้วยนะครับว่ากดปุ่มอะไรยังไง
ปล. ขอบคุณครับ
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Thu Dec 09, 2010 3:00 pm
by snasui
ต้องแก้ Code VBA ตามด้านล่างครับ
Code: Select all
Sub Reset()
Dim count As Range
Set count = Worksheets("Sheet1").[A7]
On Error Resume Next
count.Value = count.Value - TimeValue("0:00:01")
If count <= 0 Then
MsgBox "Game Over" 'แ้ก้บรรทัดนี้ เดิมเป็น Call Reset1
Exit Sub
End If
Call Timer
End Sub
การเข้าไปแก้ Code ให้กดแป้น Alt+F11 > จะเข้าหน้าต่าง VBE > Double Click Module1 ในหน้าต่าง VBA Project ด้านซ้ายมือแล้วแก้
Sub Reset ให้เป็นไปตามด้านบน จากนั้นกดแป้น Alt+Q เพื่อกลับมายังหน้าจอ Excel > กดแป้น Start แล้วสังเกตดูผล
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Thu Dec 09, 2010 3:11 pm
by chaiyo2541
แล้วทำแบบหมดเวลา 30 นาที แล้วจะลิ้งก์ ไปหา Sheet 2 อะครับ ทำได้รึเปล่าครับ
แบบ Sheet 2 พิมพ์ Game Over ไว้อะครับ
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Thu Dec 09, 2010 3:14 pm
by snasui
คำว่าเกมส์ Over พิมพ์ไว้เซลล์ไหนของ Sheet2 เนื่องจากเปิดดูแล้วไม่เจอครับ นอกจากนี้ที่บอกให้แก้ Code ก็ยังไม่ได้แก้ตามที่บอกเลยครับ
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Thu Dec 09, 2010 3:19 pm
by chaiyo2541
แล้วทำแบบหมดเวลา 30 นาที แล้วจะลิ้งก์ ไปหา Sheet 2 อะครับ ทำได้รึเปล่าครับ
แบบ Sheet 2 พิมพ์ Game Over ไว้อะครับ
อันใหม่ครับ เมื่อกี้ผมลืมแก้
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Thu Dec 09, 2010 3:29 pm
by snasui
หากจะใช้เวลานับถอยหลังที่เซลล์ A7 ตรง StartTime แก้เป็น
Code: Select all
Sub StartTime()
Worksheets("Sheet1").[A7].Value = TimeValue("00:30:00")
Worksheets("Sheet1").[A7].NumberFormat = "h:mm:ss"
Call Timer
End Sub
ส่วนกรณีหมดเวลา 30 นาทีแล้วให้ไปยัง Sheet2 สามารถปรับ Code ที่ Sub Reset เป็นตามด้านล่างครับ
Code: Select all
Sub Reset()
Dim count As Range
Set count = Worksheets("Sheet1").[A7]
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
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Fri Dec 10, 2010 1:38 pm
by chaiyo2541
ตั้งเวลา sheet ยังไงหรอครับ แบบสมมุติว่าตั้งเวลา sheet Game Over ไว้ 4 วินาที พอหมด 4 วินาที แล้วมันจะไปอีก sheet 3 ( Level 2 ) อะครับ
ทำยังไงหรอครับช่วยอธิบายการทำด้วยนะครับว่าทำยังไงอย่างไร
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Fri Dec 10, 2010 1:43 pm
by tanachai2541
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Fri Dec 10, 2010 2:05 pm
by snasui
คุณลองทำตามที่ผมแนะนำติดขัดตรงไหนก็ส่งไฟล์มาพร้อมคำอธิบายในสิ่งที่เป็นปัญหา ผมจะได้ดูว่าคุณทำถูกหรือผิดอย่างไรครับ
เป็นไฟล์อันเดียวกันกับที่คุณส่งมาครับ Code ก็อยู่ในนั้น ผมระบุตำแหน่งให้เรียบร้อยว่าแก้ตรงไหนครับ
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Fri Dec 10, 2010 2:08 pm
by snasui
โปรดทราบว่าผมไม่ได้อยู่หน้าจอตลอดเวลาและจะอ่านทุกความเห็น ไม่ควรโพสต์มาเพียง icon โดยไม่มีคำถามหรือไม่มีการแจ้งข้อมูลใดเพื่ออธิบายเพิ่มเติมครับ
ทำให้ไปอีก Level ยังไง
Posted: Fri Dec 10, 2010 3:05 pm
by chaiyo2541
แล้วจะทำให้มันไปอีก Level ยังไงหรอครับ แบบให้ผล SUM ถึง 5 แล้วจะไป Level 2 อะครับ
ทำยังไงหรอครับ ช่วยบอกวิธีการทำ ด้วยนะครับ
-----------------------------------------------------
*** ยกมาจากกระทู้ ทำให้ไปอีก Level ยังไง เนื่องจากเห็นว่าเป็นคำถามที่เกี่ยวเนื่องกัน ***
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Fri Dec 10, 2010 3:47 pm
by snasui
สำหรับกระทู้ในความเห็นข้างบนนี้ผมนำมารวมกับหัวข้อ
ทำไงให้มันขึ้น Game Over ครับ เนื่องจากเป็นคำถามที่ต่อเนื่องกัน
มาอ่านอีกทีเลยไม่แน่ใจว่า สำหรับที่จะให้มันไปอีก Level เมื่อ T20 มีค่าเท่ากับ 5 เป็นเงื่อนไขต่อเนื่องจากนับเวลาหรือไม่ครับ
ควรเขียนเงื่อนไขที่เกี่ยวเนื่องมาให้ครบจะได้เขียน Code ทีเดียวครับ
ปุ่มเริ่มเล่น เวลา ไม่วิ่งครับ
Posted: Mon Nov 28, 2011 8:24 pm
by raycity
พิมพ์โค๊ดตามอาจารย์ทุกอย่าง
แต่ตัวเลขมันนิ่ง เวลามันไม่เดิน อะครับ
เป็นเพราะอะไรครับ
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Mon Nov 28, 2011 8:28 pm
by snasui
การใช้ Macro หรือ VBA ใน Excel รุ่น 2007 ขึ้นไปจะต้องจัดเก็บ (Save As) เป็นนามสกุล .xlsm ถึงจะแนบ Code ไปกับไฟล์ได้ครับ ตอนนี้ Save มาเป็น .xlsx จึงไม่สามารถใช้งาน Code ได้ครับ
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Mon Nov 28, 2011 8:33 pm
by raycity
จะทำยังไง ให้ เวลาเดิน ครับ
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Mon Nov 28, 2011 8:37 pm
by snasui
เวลาใน Sheet1 เซลล์ A7 เดินอยู่ครับ
หากความต้องการคือให้เวลาใน Sheet2 เซลล์ A7 ลดลงเรื่อย ๆ ก็ต้องเปลี่ยน Code ที่อ้างถึง Sheet1 ให้เป็น Sheet2 ทั้งหมดครับ
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Wed Nov 30, 2011 9:01 am
by raycity
snasui wrote: เวลาใน Sheet1 เซลล์ A7 เดินอยู่ครับ
หากความต้องการคือให้เวลาใน Sheet2 เซลล์ A7 ลดลงเรื่อย ๆ ก็ต้องเปลี่ยน Code ที่อ้างถึง Sheet1 ให้เป็น Sheet2 ทั้งหมดครับ
ทำให้ เวลาเดินหลายๆ Sheet ได้ไหมครับ
Re: ทำไงให้มันขึ้น Game Over ครับ
Posted: Wed Nov 30, 2011 9:16 am
by raycity
raycity wrote:snasui wrote: เวลาใน Sheet1 เซลล์ A7 เดินอยู่ครับ
ทำให้ เวลาเดินหลายๆ Sheet ได้ไหมครับ