snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
chaiyo2541
Member
Posts: 12 Joined: Tue Dec 07, 2010 2:04 pm
#1
Post
by chaiyo2541 » Thu Dec 09, 2010 12:54 pm
สมมุติว่าตั้งเวลาไว้ 1 นาที่ พอหมด 1 นาที มันจะขึ้นว่า Game Over อะครับ ทำยังไงหรอครับ
บอกวิธีทำด้วยนะครับ ว่ากดปุ่มไหนยังไง
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#2
Post
by snasui » Thu Dec 09, 2010 1:17 pm
ส่งไฟล์ตัวอย่างมาด้วยครับ ต้องการให้ชีทไหน เซลล์ไหนแสดงค่าอย่างไร การทำงานกับ VBA และผู้ถามไม่มีความรู้พื้นฐานมาบ้างนั้นไม่ง่ายนัก ต้องค่อย ๆ ทำความเข้าใจไปครับ
chaiyo2541
Member
Posts: 12 Joined: Tue Dec 07, 2010 2:04 pm
#3
Post
by chaiyo2541 » Thu Dec 09, 2010 2:45 pm
ทำยังไงหรอครับ แบบพอหมดเวลา 30 นาที แล้วมันจะขึ้น Game Over อะครับ
ช่วยบอกวิธีการทำด้วยนะครับว่ากดปุ่มอะไรยังไง
ปล. ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#4
Post
by snasui » Thu Dec 09, 2010 3:00 pm
ต้องแก้ 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 แล้วสังเกตดูผล
chaiyo2541
Member
Posts: 12 Joined: Tue Dec 07, 2010 2:04 pm
#5
Post
by chaiyo2541 » Thu Dec 09, 2010 3:11 pm
แล้วทำแบบหมดเวลา 30 นาที แล้วจะลิ้งก์ ไปหา Sheet 2 อะครับ ทำได้รึเปล่าครับ
แบบ Sheet 2 พิมพ์ Game Over ไว้อะครับ
You do not have the required permissions to view the files attached to this post.
Last edited by
chaiyo2541 on Thu Dec 09, 2010 3:18 pm, edited 2 times in total.
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#6
Post
by snasui » Thu Dec 09, 2010 3:14 pm
คำว่าเกมส์ Over พิมพ์ไว้เซลล์ไหนของ Sheet2 เนื่องจากเปิดดูแล้วไม่เจอครับ นอกจากนี้ที่บอกให้แก้ Code ก็ยังไม่ได้แก้ตามที่บอกเลยครับ
chaiyo2541
Member
Posts: 12 Joined: Tue Dec 07, 2010 2:04 pm
#7
Post
by chaiyo2541 » Thu Dec 09, 2010 3:19 pm
แล้วทำแบบหมดเวลา 30 นาที แล้วจะลิ้งก์ ไปหา Sheet 2 อะครับ ทำได้รึเปล่าครับ
แบบ Sheet 2 พิมพ์ Game Over ไว้อะครับ
อันใหม่ครับ เมื่อกี้ผมลืมแก้
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#8
Post
by snasui » Thu Dec 09, 2010 3:29 pm
หากจะใช้เวลานับถอยหลังที่เซลล์ 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
chaiyo2541
Member
Posts: 12 Joined: Tue Dec 07, 2010 2:04 pm
#9
Post
by chaiyo2541 » Fri Dec 10, 2010 1:38 pm
ตั้งเวลา sheet ยังไงหรอครับ แบบสมมุติว่าตั้งเวลา sheet Game Over ไว้ 4 วินาที พอหมด 4 วินาที แล้วมันจะไปอีก sheet 3 ( Level 2 ) อะครับ
ทำยังไงหรอครับช่วยอธิบายการทำด้วยนะครับว่าทำยังไงอย่างไร
You do not have the required permissions to view the files attached to this post.
Last edited by
chaiyo2541 on Mon Dec 13, 2010 10:17 am, edited 1 time in total.
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#11
Post
by snasui » Fri Dec 10, 2010 2:05 pm
คุณลองทำตามที่ผมแนะนำติดขัดตรงไหนก็ส่งไฟล์มาพร้อมคำอธิบายในสิ่งที่เป็นปัญหา ผมจะได้ดูว่าคุณทำถูกหรือผิดอย่างไรครับ
เป็นไฟล์อันเดียวกันกับที่คุณส่งมาครับ Code ก็อยู่ในนั้น ผมระบุตำแหน่งให้เรียบร้อยว่าแก้ตรงไหนครับ
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#12
Post
by snasui » Fri Dec 10, 2010 2:08 pm
โปรดทราบว่าผมไม่ได้อยู่หน้าจอตลอดเวลาและจะอ่านทุกความเห็น ไม่ควรโพสต์มาเพียง icon โดยไม่มีคำถามหรือไม่มีการแจ้งข้อมูลใดเพื่ออธิบายเพิ่มเติมครับ
Last edited by
snasui on Sat Dec 11, 2010 12:10 am, edited 1 time in total.
Reason: ปรับปรุงเพื่อให้ใจความสมบูรณ์
chaiyo2541
Member
Posts: 12 Joined: Tue Dec 07, 2010 2:04 pm
#13
Post
by chaiyo2541 » Fri Dec 10, 2010 3:05 pm
แล้วจะทำให้มันไปอีก Level ยังไงหรอครับ แบบให้ผล SUM ถึง 5 แล้วจะไป Level 2 อะครับ
ทำยังไงหรอครับ ช่วยบอกวิธีการทำ ด้วยนะครับ
-----------------------------------------------------
*** ยกมาจากกระทู้ ทำให้ไปอีก Level ยังไง เนื่องจากเห็นว่าเป็นคำถามที่เกี่ยวเนื่องกัน ***
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#14
Post
by snasui » Fri Dec 10, 2010 3:47 pm
สำหรับกระทู้ในความเห็นข้างบนนี้ผมนำมารวมกับหัวข้อ
ทำไงให้มันขึ้น Game Over ครับ เนื่องจากเป็นคำถามที่ต่อเนื่องกัน
มาอ่านอีกทีเลยไม่แน่ใจว่า สำหรับที่จะให้มันไปอีก Level เมื่อ T20 มีค่าเท่ากับ 5 เป็นเงื่อนไขต่อเนื่องจากนับเวลาหรือไม่ครับ
ควรเขียนเงื่อนไขที่เกี่ยวเนื่องมาให้ครบจะได้เขียน Code ทีเดียวครับ
raycity
Member
Posts: 10 Joined: Tue Nov 01, 2011 7:37 pm
#15
Post
by raycity » Mon Nov 28, 2011 8:24 pm
พิมพ์โค๊ดตามอาจารย์ทุกอย่าง
แต่ตัวเลขมันนิ่ง เวลามันไม่เดิน อะครับ
เป็นเพราะอะไรครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#16
Post
by snasui » Mon Nov 28, 2011 8:28 pm
การใช้ Macro หรือ VBA ใน Excel รุ่น 2007 ขึ้นไปจะต้องจัดเก็บ (Save As) เป็นนามสกุล .xlsm ถึงจะแนบ Code ไปกับไฟล์ได้ครับ ตอนนี้ Save มาเป็น .xlsx จึงไม่สามารถใช้งาน Code ได้ครับ
raycity
Member
Posts: 10 Joined: Tue Nov 01, 2011 7:37 pm
#17
Post
by raycity » Mon Nov 28, 2011 8:33 pm
จะทำยังไง ให้ เวลาเดิน ครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30919 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#18
Post
by snasui » Mon Nov 28, 2011 8:37 pm
เวลาใน Sheet1 เซลล์ A7 เดินอยู่ครับ
หากความต้องการคือให้เวลาใน Sheet2 เซลล์ A7 ลดลงเรื่อย ๆ ก็ต้องเปลี่ยน Code ที่อ้างถึง Sheet1 ให้เป็น Sheet2 ทั้งหมดครับ
raycity
Member
Posts: 10 Joined: Tue Nov 01, 2011 7:37 pm
#19
Post
by raycity » Wed Nov 30, 2011 9:01 am
snasui wrote: เวลาใน Sheet1 เซลล์ A7 เดินอยู่ครับ
หากความต้องการคือให้เวลาใน Sheet2 เซลล์ A7 ลดลงเรื่อย ๆ ก็ต้องเปลี่ยน Code ที่อ้างถึง Sheet1 ให้เป็น Sheet2 ทั้งหมดครับ
ทำให้ เวลาเดินหลายๆ Sheet ได้ไหมครับ
raycity
Member
Posts: 10 Joined: Tue Nov 01, 2011 7:37 pm
#20
Post
by raycity » Wed Nov 30, 2011 9:16 am
raycity wrote: snasui wrote: เวลาใน Sheet1 เซลล์ A7 เดินอยู่ครับ
ทำให้ เวลาเดินหลายๆ Sheet ได้ไหมครับ
You do not have the required permissions to view the files attached to this post.