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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#1
Post
by bank9597 » Fri Oct 21, 2011 9:31 am
อาจารย์ครับ โค๊ดด้านล้างเป็นโค๊ดสั่งเคลียร์ข้อมูล เวลามีข้อมูลอยู่ในฟอร์มครบตามเซลล์ที่เราระบุไว้ในโค๊ด แล้วเราสั่งเคลียร์ข้อมูล มันเคลียร์ได้
แต่เวลาไม่มีข้อมูลใดๆเลย แล้วเราสั่งเคลียร์ มันก็จะติด Debug ครับ คิดว่าน่าจะต้องมี IF เข้าไปช่วยอีก
รบกวนอาจารย์เพิ่มโค๊ดให้ด้วยน่ะครับ ผมยังจับทางไม่ถูก
Code: Select all
Sub Button1_Click()
ActiveSheet.Unprotect Password:="240130" '<==UnProtect
Sheets("PurchaseOrder").Select
Selection.ClearContents
Range("B17:H76,L3,G7,C13,B7").SpecialCells(xlCellTypeConstants).ClearContents
ActiveSheet.Protect Password:="240130" '<== Protect Again
Exit Sub
End Sub
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
snasui
Site Admin
Posts: 31176 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#2
Post
by snasui » Fri Oct 21, 2011 9:36 am
ลองใช้ On Error Resume Next มาช่วยครับ จะไ้ด้เป็น
Code: Select all
Sub Button1_Click()
On Error Resume Next
'Other code
Range("B17:H76,L3,G7,C13,B7").SpecialCells(xlCellTypeConstants).ClearContents
ActiveSheet.Protect Password:="240130" '<== Protect Again
Exit Sub
End Sub
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#3
Post
by bank9597 » Fri Oct 21, 2011 10:01 am
มันไม่ทำงานอ่ะครับ ผมเลยใส่โค๊ด
Code: Select all
ActiveSheet.Protect Password:="240130" '<== Protect Again นี้ไปที่บรรทัดบนสุด มันเลยเป็นปรกติ
เพราะอะไรครับ
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
snasui
Site Admin
Posts: 31176 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#4
Post
by snasui » Fri Oct 21, 2011 10:08 am
ที่ยกมาถามนั้น ผิด Logic และ Code ไม่ควรทำงานได้ครับ
การทำงานกับชีทที่ป้องกันไว้นั้น ต้องปลดการป้องกันก่อน แล้วค่อย Run ตาม Statement อื่น ๆ จากนั้นค่อย Protect เข้าไปใหม่
หากนำ Code ที่ทำการ Protect ไว้ก่อน Code อื่น ๆ แล้วคำสั่งในการ Clear จะทำงานได้อย่างไรหากไปป้องกันการแก้ไขเอาไว้
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#5
Post
by bank9597 » Fri Oct 21, 2011 10:16 am
อ่อ ไม่ใช่ครับอาจารย์ คือว่าผมเอาโค๊ด
Code: Select all
ActiveSheet.Protect Password:="240130" '<== Protect Again ไปไว้บรรทัดทัดบนสุด มันเลยกลายเป็นแบบนี้ครับ
Code: Select all
Sub Button1_Click()
ActiveSheet.Unprotect Password:="240130" '<==UnProtect
On Error Resume Next
'Other code
Range("B17:H76,L3,G7,C13,B7").SpecialCells(xlCellTypeConstants).ClearContents
ActiveSheet.Protect Password:="240130" '<== Protect Again
Exit Sub
End Sub
เพราะตรงนี้อาจารย์เคยบอกผมแล้ว ผมจำได้แม่นครับ
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
snasui
Site Admin
Posts: 31176 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#6
Post
by snasui » Fri Oct 21, 2011 10:26 am
ครับ ไม่ทราบปัญหาคืออะไรครับ
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#7
Post
by bank9597 » Fri Oct 21, 2011 10:34 am
คือตอนที่เอาโค๊ดของอาจารย์มาใส่ แล้วผมก็ลองทดสอบ ปรากฏว่ามันเคลียร์ข้อมูลปกติ แต่พอกดครั้งที่2 ตอนที่ไม่มีข้อมูลในฟอร์มเลย ปุ่มมันไม่ทำงาน ผมเลยกลับไปดูโค๊ดของอาจารย์ ซึ่งผมเห็นโค๊ด ActiveSheet.Protect Password:="240130" '<== Protect Again อันนี้อยู่ด้านล่าง คำว่า "Protect Again" ทำให้ผมเข้าใจว่า เราต้องปลดล๊อคชีทก่อน ผมเลยกลับไปดูตัวอย่างโค๊ดที่อาจารย์เคยให้ไว้ เลยจำได้ ผมจึงเอา ActiveSheet.Unprotect Password:="240130" '<==UnProtect ไว้บรรทัดบนสุด แล้วลองRUn ดู ปรากฏว่าปัญหาหมดไป ผมเลยถามอาจารย์ว่า เพราะเหตุใดมันถึงเป็นเช่นนั้น เพราะผมคิดว่าอาจารย์ต้องทราบอย่างแน่นอนครับ
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
snasui
Site Admin
Posts: 31176 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#8
Post
by snasui » Fri Oct 21, 2011 10:39 am
แสดงว่าผมตอบย่อไปหน่อย ไม่ได้นำ Code Unprotect มาใส่ไว้ด้วยเนื่องจากละไว้ในฐานที่เข้าใจ
bank9597 wrote: ผมเลยกลับไปดูตัวอย่างโค๊ดที่อาจารย์เคยให้ไว้ เลยจำได้ ผมจึงเอา ActiveSheet.Unprotect Password:="240130" '<==UnProtect ไว้บรรทัดบนสุด แล้วลองRUn ดู ปรากฏว่าปัญหาหมดไป ผมเลยถามอาจารย์ว่า เพราะเหตุใดมันถึงเป็นเช่นนั้น เพราะผมคิดว่าอาจารย์ต้องทราบอย่างแน่นอนครับ
สำหรับคำตอบนี้ได้ตอบไปแล้วครับ
snasui wrote: การทำงานกับชีทที่ป้องกันไว้นั้น ต้องปลดการป้องกันก่อน แล้วค่อย Run ตาม Statement อื่น ๆ จากนั้นค่อย Protect เข้าไปใหม่
หากนำ Code ที่ทำการ Protect ไว้ก่อน Code อื่น ๆ แล้วคำสั่งในการ Clear จะทำงานได้อย่างไรหากไปป้องกันการแก้ไขเอาไว้
Last edited by
snasui on Fri Oct 21, 2011 6:15 pm, edited 2 times in total.
Reason: เปลี่ยน Copy เป็น Code
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#9
Post
by bank9597 » Fri Oct 21, 2011 10:48 am
อิอิ อาจารย์ต้องทำใจหน่อยน่ะครับ พอดีว่าผมยังไม่ได้คล่องในเรื่องการเขียนโค๊ดเลย หนังสือก็ยังไม่ได้ซื้อมาอ่านเลย (น้ำท่วม อิอิ)
ดังนั้นถ้าอาจารย์ตอบอะไรมาแล้วผมไม่เข้าใจ ผมต้องขอโทษด้วยครับ เพราะความรู้ยังไม่ถึงจริงๆ
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#10
Post
by bank9597 » Fri Oct 21, 2011 10:58 am
อีกนิดครับอาจารย์ ผมไม่อยากตั้งกระทู้ใหม่
ปัญหาที่ผมกลัวมาตลอด ตอนนี้มันเริ่มปรากฏแล้วครับ ไม่รู้ว่าเป็นเพราะมีสูตรและ มาโคร เยอะไปหรือเปล่า มันถึงได้ Error บ่อยเวลากด Save
กลัวว่าเวลาเอาไปใช้งานจริงจะเกิดปัญหาครับ
Error.JPG
You do not have the required permissions to view the files attached to this post.
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
snasui
Site Admin
Posts: 31176 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#11
Post
by snasui » Fri Oct 21, 2011 11:09 am
ตอบไว้แล้วตามนี้ครับ
snasui wrote: ทดสอบวิธีนี้และไฟล์นี้กับเครื่องอื่น ๆ ครับ หากว่าสามารถทำงานได้ปกติ แสดงว่าเป็นที่โปรแกรม Uninstall แล้ว Install ใหม่ด้วยตัวที่สมบูรณ์ หากเครื่องอื่นก็ได้ผลทำให้โปรแกรมปิดไปเหมือนกันก็แสดงว่าเป็นที่ไฟล์ครับ