Page 1 of 1
ต้องการ Lock Cell แล้วให้เวลานับถอยหลังสามารถทำงานได้ด้วยคะ
Posted: Sat Jan 19, 2013 5:40 pm
by pimwalan
ต้องการจะล็อกเซลล์เพื่อไม่ให้แก้ไข ยกเว้นเซลล์ที่ต้องการกรอกคำตอบ
(สีฟ้า) รวมทั้งเซลล์ที่แสดงเวลานับถอยหลังและปุ่มเริ่มเกม แต่หลังจากที่ล็อกเซลล์แล้วทำการคลิกปุ่มเริ่มเล่นเกมด่านที่ 1
ก็เจอ Debug ดังรูปคะ
พอกด Debug มีแถบสีเหลืองๆ ตรง .[a1].value = numberformat = “h:mm:ss”
ช่วยดูโค้ดที่ส่งไฟล์ไปให้ด้วยนะคะ และวิธีการแก้ไขในโค้ดด้วยคะ พอดีต้องการฝึกทักษะการสร้างเกม Excel ของเด็กนักเรียน ต้นเดือนกุมภาพันธ์นี้คะ ขอขอบคุณล่วงหน้าคะ
Re: ต้องการ Lock Cell แล้วให้เวลานับถอยหลังสามารถทำงานได้ด้ว
Posted: Sat Jan 19, 2013 7:31 pm
by snasui

Mark ให้เป็น Comment ไปก่อนครับ Statement นั้นเป็นคำสั่งเพื่อการจัด Format เท่านั้น
Re: ต้องการ Lock Cell แล้วให้เวลานับถอยหลังสามารถทำงานได้ด้ว
Posted: Sat Jan 19, 2013 8:16 pm
by pimwalan
ขอบคุณมากนะคะ
Re: ต้องการ Lock Cell แล้วให้เวลานับถอยหลังสามารถทำงานได้ด้ว
Posted: Sat Jan 19, 2013 8:50 pm
by pimwalan
คุณคนควนคะ ถ้าดิฉันต้องการสร้างปุ่มสักหนึ่งปุ่ม มาสั่งการให้เคลียร์ข้อมูลในเซลล์ที่อ้างอิงเซลล์อื่นๆ ทั้งหมด เช่นกรอกชื่อผู้เล่นที่ sheet 1 เซลล์ที่ a1 แล้วมันก็อ้างอิง sheet 2 เซลล์ a1 แล้วมันก็อ้างอิง sheet 3 เซลล์ a1
vba เขียนอย่างไรคะ
Re: ต้องการ Lock Cell แล้วให้เวลานับถอยหลังสามารถทำงานได้ด้ว
Posted: Sat Jan 19, 2013 8:51 pm
by pimwalan
คำสั่ง range("A1:IV65530").ClearContents มันลบแค่เฉพาะ sheet นั้นๆคะ
Re: ต้องการ Lock Cell แล้วให้เวลานับถอยหลังสามารถทำงานได้ด้ว
Posted: Sat Jan 19, 2013 8:54 pm
by snasui

ถ้าต้องการให้ลบชีทอื่น ๆ ก็ระบุชีทเข้าไปด้วยครับ ลองบันทึก Mocro ดูการลบหลาย ๆ ชีทว่าโปรแกรมสร้าง Code มาให้อย่างไร จะได้นำไปใช้ได้ครับ
Re: ต้องการ Lock Cell แล้วให้เวลานับถอยหลังสามารถทำงานได้ด้ว
Posted: Sat Jan 19, 2013 9:12 pm
by pimwalan
ระบุ Sheet อย่างไรคะ แบบนี้หรือเปล่า สร้างปุ่ม มาหนึ่งปุ่ม ที่ชีทชื่อ score
Sub cleardata()
With Worksheets("score") ปุึ่มอยู่ที่ sheet ชื่อ score
Range("G19.:IV65530").ClearContents ต้องการให้ลบตำแหน่ง g19 sheet 1
Range("G19:IV65530").ClearContents ต้องการให้ลบตำแหน่ง g19 sheet 2
End With
Re: ต้องการ Lock Cell แล้วให้เวลานับถอยหลังสามารถทำงานได้ด้ว
Posted: Sat Jan 19, 2013 9:16 pm
by snasui

การโพสต์ Code ให้แสดงเป็น Code ดูตัวอย่างที่นี่ครับ
http://www.snasui.com/viewtopic.php?f=3&t=1187 จะได้สะดวกในการอ่านและการ Copy ไปทดสอบ
สำหรับที่ถามมานั้น ให้อ้างชื่อชีททุกชีทที่เราต้องการไปลบค่าในเซลล์ของชีทนั้น ๆ ครับ เช่น
Code: Select all
Sheets("Sheet1").Range("A1").ClearContents
Sheets("Sheet2").Range("A1").ClearContents
Sheets("Sheet3").Range("A1").ClearContents
Sheets("Sheet4").Range("A1").ClearContents
Re: ต้องการ Lock Cell แล้วให้เวลานับถอยหลังสามารถทำงานได้ด้ว
Posted: Sat Jan 19, 2013 9:41 pm
by pimwalan
จะติดปัญหาตรงที่ ชีท sport1 ซึ่ง เซลล์ที่ n11 เป็นการแสดงคะแนน ที่เคลียร์ไม่ได้คะ เพราะว่า Lock เซลล์อยู่เกี่ยวกันหรือเปล่าคะ
มันจะขึ้น Error ดังรูปคะ อย่างนี้คะ
Code: Select all
Sub cleardata2()
Sheets("Sheet1").Range("A10").ClearContents
Sheets("Sheet2").Range("A10").ClearContents
Sheets("Sport1").Range("n11").ClearContents
End Sub
Re: ต้องการ Lock Cell แล้วให้เวลานับถอยหลังสามารถทำงานได้ด้ว
Posted: Sat Jan 19, 2013 9:54 pm
by pimwalan
โอเคคะ พอดีได้แล้วคะ พอดี link ผิดนิดหน่อยคะ
Re: ต้องการ Lock Cell แล้วให้เวลานับถอยหลังสามารถทำงานได้ด้ว
Posted: Sat Jan 19, 2013 10:16 pm
by pimwalan
สร้างปุ่มชื่อ cleardata เพื่อสั่งให้ลบข้อความในชีทเดียวกัน แต่คนละเซลล์ สามารถทำคำสั่งให้สั้นๆ กว่านี้ได้ใหมคะ หรือจะต้องเขียนโปรแกรมให้ยาวแบบนี้ เพราะต้องเคลียร์เกือบ 15 เซลล์ในหนึ่งชีทเลยคะ
Code: Select all
Sub cleardata2()
Sheets("sport1").Range("i15").ClearContents
Sheets("sport1").Range("k15").ClearContents
Sheets("sport1").Range("c21").ClearContents
Sheets("sport1").Range("e21").ClearContents
Sheets("sport1").Range("g21").ClearContents
End Sub
Re: ต้องการ Lock Cell แล้วให้เวลานับถอยหลังสามารถทำงานได้ด้ว
Posted: Sat Jan 19, 2013 10:20 pm
by snasui

สามารถทำได้ครับ จากตัวอย่างที่เขียนมาสามารถเขียนได้เป็น
Code: Select all
Sheets("sport1").Range("i15,k15,c21,e21,q21").ClearContents
Re: ต้องการ Lock Cell แล้วให้เวลานับถอยหลังสามารถทำงานได้ด้ว
Posted: Sat Jan 19, 2013 10:32 pm
by pimwalan
สร้างปุ่มออกจากโปรแกรม มีคำสั่งที่ง่าย สั้น ที่นอกเหนือกว่านี้อีกใหมคะ ถ้ามีช่วยแนะนำด้วยคะ
Code: Select all
Sub gameclose()
With Worksheets("score")
Application.DisplayAlerts = False
Application.Quit
End With
End Sub
Re: ต้องการ Lock Cell แล้วให้เวลานับถอยหลังสามารถทำงานได้ด้ว
Posted: Sat Jan 19, 2013 11:04 pm
by snasui

คำสั่งพวกนั้นไม่ได้ยาวจนเกินไป ผมเห็นว่าไม่จำเป็นต้องปรับ พยายามถามเฉพาะที่เป็นปัญหาครับ
คำสั่งที่ใช้ในการเล่นไฟล์เสียงใน Excel
Posted: Sat Jan 19, 2013 11:26 pm
by pimwalan
มีคำสั่งเกี่ยวกับการเล่นไฟล์เสียงที่สามารถสั่งในเล่นไปทุกชีทใหมคะ
Re: ต้องการ Lock Cell แล้วให้เวลานับถอยหลังสามารถทำงานได้ด้ว
Posted: Sat Jan 19, 2013 11:30 pm
by snasui

ด้วย VBA สามารถทำได้ทั้งนั้นครับ แต่ต้องเขียนมาเองก่อนทุก ๆ ครั้ง ถามเฉพาะที่ติดปัญหาเท่านั้นครับ
Re: ต้องการ Lock Cell แล้วให้เวลานับถอยหลังสามารถทำงานได้ด้ว
Posted: Sun Jan 20, 2013 12:58 am
by pimwalan
พอดีเขียนโค้ดแล้วเจอ error แบบนี้คะ คืออะไรค่ะ และมีวิธีการแก้ไขอย่างไรบ้างคะ
Re: ต้องการ Lock Cell แล้วให้เวลานับถอยหลังสามารถทำงานได้ด้ว
Posted: Sun Jan 20, 2013 6:26 am
by snasui

แก้ไขด้วยการยกเลิกการ Locked เซลล์ที่จะทำการเปลี่ยนแปลงครับ การฟ้องแบบนั้นแจ้งว่าไปทำการเปลี่ยนแปลงเซลล์ที่มีการ Protect เอาไว้ครับ