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]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
March201711
Gold
Posts: 1016 Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365
#1
Post
by March201711 » Wed Feb 14, 2018 12:19 pm
สอบถามเรื่องการ recode marco ทุกชีทแล้ว แต่พอจะ run marco ที่ record ไว้ กลับไม่protect ทุกชีทให้ค่ะ ตามเอกสารแนบ ไม่ทราบว่าเป็นเพราะอะไรคะ
You do not have the required permissions to view the files attached to this post.
puriwutpokin
Guru
Posts: 3693 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#2
Post
by puriwutpokin » Wed Feb 14, 2018 12:28 pm
ทดสอบแล้วก็ Protect ทุกชีทนะครับ แค่ไม่ได้ใส่ Pass word มีการปลดล็อคการป้องกันมาโครไว้หรือไม่ครับทำให้โค้ดไม่รัน
March201711
Gold
Posts: 1016 Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365
#3
Post
by March201711 » Wed Feb 14, 2018 1:29 pm
ลองrecord marco แล้ว ใส่passord ทุกชีท แต่พอจะรันแล้ว ทำไมใน code vba ไม่บันทึกการใส่ password ให้คะ และลองเลืือกทุแชีทใส่ passord procet sheet แต่ vba ไม่ให้ใส่ password ค่ะ ก้องงว่าทำไม ระะบบไม่ใส่ให้คะ
puriwutpokin
Guru
Posts: 3693 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#4
Post
by puriwutpokin » Wed Feb 14, 2018 1:36 pm
ในโค้ดไม่มีโค้ดไหน ที่แสดงถึงว่าให้ใส่โค้ดรหัสล็อคเลยครับ ต้องการให้รหัส ล็อคอยู่ในโค้ดหรือเปล่า หรืออยู่ที่หน้าชีทครับ
March201711
Gold
Posts: 1016 Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365
#5
Post
by March201711 » Wed Feb 14, 2018 2:12 pm
ไม่ได้เขียน code vba ขึ้นเองค่ะ ใช้วิธี record marco. ตอนที่บันทึก record marco ใส่ทุกชีทนะคะ แต่ทำไมพอเปิดดูในcode vba แล้ว codeไม่ใส่ password ให้ ถ้ทเป็นอย่างนี้ ต้อง edit เข้าไปแก้ตรงไหนคะให้ใส่ protect sheet ทุก sheet คะ
puriwutpokin
Guru
Posts: 3693 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#6
Post
by puriwutpokin » Wed Feb 14, 2018 2:17 pm
ลองปรับเป็นโค้ดนี้ดูครับว่าได้ไหม
Code: Select all
Sub Protect_allSheet()
For i = 1 To Sheets.Count
Sheets(i).Protect Password:=1234, DrawingObjects:=True, Contents:=True, Scenarios:=True
Next i
End Sub
March201711
Gold
Posts: 1016 Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365
#7
Post
by March201711 » Wed Feb 14, 2018 4:54 pm
ได้แล้วค่ะ ถามต่อนิดนึงค่ะ ถ้าจะบ protect sheet แบบ ไม่สามารถดูข้อมูลใน cell ได้เลย เช่น sheet aaa ค่ะ ต้องแก้ตรงไหนบ้างคะ
และถ้าจะ protect เฉพาะบาง sheet เช่น sheet aaa, bbb, eee เท่านั้น ต้องปรับเปลี่ยนอย่างไรบ้างคะ
code
For i = 1 To Sheets.Count
Sheets(i).Protect Password:=1234, DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlNoSelection
Next i
ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
puriwutpokin
Guru
Posts: 3693 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#8
Post
by puriwutpokin » Wed Feb 14, 2018 6:03 pm
ใช้่ซ่อนชีทหรือไม่ก็format cellเมื่อล็อคก็จะมองไม่เห็น ส่วนที่เลือกล็อคบางชีทต้องใช้แบบเดิม array เพิ่มแค่passwordครับ
March201711
Gold
Posts: 1016 Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365
#9
Post
by March201711 » Wed Feb 14, 2018 6:18 pm
ถ้าระบุชื่อ จะได้ไหมคะ เช่น Sheets("aaa","bbb",eee").Protect Password:=1234, DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlNoSelection
snasui
Site Admin
Posts: 30736 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#10
Post
by snasui » Wed Feb 14, 2018 7:38 pm
ตัวอย่าง Code ครับ
Code: Select all
Dim a As Worksheet
For Each a In Worksheets(Array("aaa", "bbb", "ccc"))
a.Protect Password:=1234, DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlNoSelection
Next a
March201711
Gold
Posts: 1016 Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365
#11
Post
by March201711 » Thu Feb 15, 2018 2:16 pm
อาจารย์คะ protect sheet ได้ แค่ sheet a sheet เดียวเองค่ะ
puriwutpokin
Guru
Posts: 3693 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#12
Post
by puriwutpokin » Thu Feb 15, 2018 4:49 pm
March201711 wrote: ↑ Thu Feb 15, 2018 2:16 pm
อาจารย์คะ protect sheet ได้ แค่ sheet a sheet เดียวเองค่ะ
ผมลองรันแล้ว ได้ตามที่ Array ชีท นะครับ ถ้าไม่ได้ลองแนบไฟล์ตัวอย่างที่ว่าใส่โค้ดแล้วไม่ได้มาดูครับ
March201711
Gold
Posts: 1016 Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365
#13
Post
by March201711 » Thu Feb 15, 2018 5:06 pm
sheet aaa protect ได้แค่ชื่อเดียว ส่วนsheet bbb, ccc, ddd,eee เห็น formula ตรง cell D5 คะ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30736 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#14
Post
by snasui » Thu Feb 15, 2018 5:54 pm
ตัวอย่างการปรับ Code ครับ
เดิม
ActiveSheet.EnableSelection = xlNoSelection
เปลี่ยนเป็น
a.EnableSelection = xlNoSelection
March201711
Gold
Posts: 1016 Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365
#15
Post
by March201711 » Thu Feb 15, 2018 6:02 pm
ค่ะ จะลองทำพรุ่งนี้ค่ะ ไม่ได้อยู่ตรงหน้าคอมแล้ว ได้ผลอย่างไรจะตอบกลับนะคะอาจารย์ ขอบคุณค่ะ
March201711
Gold
Posts: 1016 Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365
#16
Post
by March201711 » Fri Feb 16, 2018 12:13 pm
ได้แล้วค่ะ อาจารย์ ขอบคุณมากค่ะ