:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser
🪷 คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ

การเคลียร์ข้อมูล

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

การเคลียร์ข้อมูล

#1

Post by bank9597 »

:D อาจารย์ครับ โค๊ดด้านล้างเป็นโค๊ดสั่งเคลียร์ข้อมูล เวลามีข้อมูลอยู่ในฟอร์มครบตามเซลล์ที่เราระบุไว้ในโค๊ด แล้วเราสั่งเคลียร์ข้อมูล มันเคลียร์ได้
แต่เวลาไม่มีข้อมูลใดๆเลย แล้วเราสั่งเคลียร์ มันก็จะติด 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
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การเคลียร์ข้อมูล

#2

Post by snasui »

:D ลองใช้ 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
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: การเคลียร์ข้อมูล

#3

Post by bank9597 »

:D มันไม่ทำงานอ่ะครับ ผมเลยใส่โค๊ด

Code: Select all

ActiveSheet.Protect Password:="240130" '<== Protect Again
นี้ไปที่บรรทัดบนสุด มันเลยเป็นปรกติ

เพราะอะไรครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การเคลียร์ข้อมูล

#4

Post by snasui »

:lol: ที่ยกมาถามนั้น ผิด Logic และ Code ไม่ควรทำงานได้ครับ

การทำงานกับชีทที่ป้องกันไว้นั้น ต้องปลดการป้องกันก่อน แล้วค่อย Run ตาม Statement อื่น ๆ จากนั้นค่อย Protect เข้าไปใหม่

หากนำ Code ที่ทำการ Protect ไว้ก่อน Code อื่น ๆ แล้วคำสั่งในการ Clear จะทำงานได้อย่างไรหากไปป้องกันการแก้ไขเอาไว้ :lol:
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: การเคลียร์ข้อมูล

#5

Post by bank9597 »

:D อ่อ ไม่ใช่ครับอาจารย์ คือว่าผมเอาโค๊ด

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
เพราะตรงนี้อาจารย์เคยบอกผมแล้ว ผมจำได้แม่นครับ :mrgreen:
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การเคลียร์ข้อมูล

#6

Post by snasui »

:D ครับ ไม่ทราบปัญหาคืออะไรครับ :?:
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: การเคลียร์ข้อมูล

#7

Post by bank9597 »

:D คือตอนที่เอาโค๊ดของอาจารย์มาใส่ แล้วผมก็ลองทดสอบ ปรากฏว่ามันเคลียร์ข้อมูลปกติ แต่พอกดครั้งที่2 ตอนที่ไม่มีข้อมูลในฟอร์มเลย ปุ่มมันไม่ทำงาน ผมเลยกลับไปดูโค๊ดของอาจารย์ ซึ่งผมเห็นโค๊ด ActiveSheet.Protect Password:="240130" '<== Protect Again อันนี้อยู่ด้านล่าง คำว่า "Protect Again" ทำให้ผมเข้าใจว่า เราต้องปลดล๊อคชีทก่อน ผมเลยกลับไปดูตัวอย่างโค๊ดที่อาจารย์เคยให้ไว้ เลยจำได้ ผมจึงเอา ActiveSheet.Unprotect Password:="240130" '<==UnProtect ไว้บรรทัดบนสุด แล้วลองRUn ดู ปรากฏว่าปัญหาหมดไป ผมเลยถามอาจารย์ว่า เพราะเหตุใดมันถึงเป็นเช่นนั้น เพราะผมคิดว่าอาจารย์ต้องทราบอย่างแน่นอนครับ :D
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การเคลียร์ข้อมูล

#8

Post by snasui »

:lol: แสดงว่าผมตอบย่อไปหน่อย ไม่ได้นำ Code Unprotect มาใส่ไว้ด้วยเนื่องจากละไว้ในฐานที่เข้าใจ
bank9597 wrote:ผมเลยกลับไปดูตัวอย่างโค๊ดที่อาจารย์เคยให้ไว้ เลยจำได้ ผมจึงเอา ActiveSheet.Unprotect Password:="240130" '<==UnProtect ไว้บรรทัดบนสุด แล้วลองRUn ดู ปรากฏว่าปัญหาหมดไป ผมเลยถามอาจารย์ว่า เพราะเหตุใดมันถึงเป็นเช่นนั้น เพราะผมคิดว่าอาจารย์ต้องทราบอย่างแน่นอนครับ
สำหรับคำตอบนี้ได้ตอบไปแล้วครับ :ard:
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
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: การเคลียร์ข้อมูล

#9

Post by bank9597 »

:D อิอิ อาจารย์ต้องทำใจหน่อยน่ะครับ พอดีว่าผมยังไม่ได้คล่องในเรื่องการเขียนโค๊ดเลย หนังสือก็ยังไม่ได้ซื้อมาอ่านเลย (น้ำท่วม อิอิ)
ดังนั้นถ้าอาจารย์ตอบอะไรมาแล้วผมไม่เข้าใจ ผมต้องขอโทษด้วยครับ เพราะความรู้ยังไม่ถึงจริงๆ :mrgreen:
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: การเคลียร์ข้อมูล

#10

Post by bank9597 »

อีกนิดครับอาจารย์ ผมไม่อยากตั้งกระทู้ใหม่

ปัญหาที่ผมกลัวมาตลอด ตอนนี้มันเริ่มปรากฏแล้วครับ ไม่รู้ว่าเป็นเพราะมีสูตรและ มาโคร เยอะไปหรือเปล่า มันถึงได้ Error บ่อยเวลากด Save
กลัวว่าเวลาเอาไปใช้งานจริงจะเกิดปัญหาครับ
Error.JPG
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: การเคลียร์ข้อมูล

#11

Post by snasui »

:D ตอบไว้แล้วตามนี้ครับ :ard:
snasui wrote: :shock: ทดสอบวิธีนี้และไฟล์นี้กับเครื่องอื่น ๆ ครับ หากว่าสามารถทำงานได้ปกติ แสดงว่าเป็นที่โปรแกรม Uninstall แล้ว Install ใหม่ด้วยตัวที่สมบูรณ์ หากเครื่องอื่นก็ได้ผลทำให้โปรแกรมปิดไปเหมือนกันก็แสดงว่าเป็นที่ไฟล์ครับ
Post Reply