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]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
yodpao.b
Gold
Posts: 1536 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#1
Post
by yodpao.b » Mon Feb 27, 2012 2:17 pm
"การป้องกันเซล"
ต้องการ
-ล็อคเซลทั้งหมด ที่เป็นพื้นที่สีชมพู
-ล็อคเซลทั้งหมด ที่เป็นพื้นที่ช่องสีขาว แต่สามารถคลิกได้และห้ามแก้ไข
รบกวนดูให้หน่อยละครับ
ผมลองใช้การป้องกันแล้วทำได้เฉพาะ ที่เป็นพื้นที่สีชมพู
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30761 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#2
Post
by snasui » Mon Feb 27, 2012 2:56 pm
การ Lock เซลล์ลองตามตาม Link นี้
http://www.snasui.com/viewtopic.php?p=691#p691
สำหรับการ Lock เซลล์แล้วให้คลิกเลือกได้แต่แก้ไขไม่ได้สามารถเลือกตามภาพด้านล่าง แต่เซลล์ที่ไม่ให้แก้ไขได้นั้นจะต้องทำการ Locked ไว้ก่อนครับ
SelectCellsFromLockCells.png
You do not have the required permissions to view the files attached to this post.
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#3
Post
by bank9597 » Mon Feb 27, 2012 3:17 pm
ตามที่ผมเห็นคือ ผู้ถามต้องการล็อค 2 แบบในเวิร์คชีทเดียว คือ เซลล์สีชมพูต้องการล๊อคแบบไม่ให้คลิ๊กได้ ส่วนเซลล์สีขาวให้ล๊อคแบบธรรมดาคือ คลิ๊กเซลล์ได้แต่ไม่ให้แก้ไข
ซึ่งผมก็คิดว่ามันไม่น่าจะทำได้ในการล๊อคครั้งเดียว
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
snasui
Site Admin
Posts: 30761 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#4
Post
by snasui » Mon Feb 27, 2012 3:50 pm
bank9597 wrote: ตามที่ผมเห็นคือ ผู้ถามต้องการล็อค 2 แบบในเวิร์คชีทเดียว คือ เซลล์สีชมพูต้องการล๊อคแบบไม่ให้คลิ๊กได้ ส่วนเซลล์สีขาวให้ล๊อคแบบธรรมดาคือ คลิ๊กเซลล์ได้แต่ไม่ให้แก้ไข
ซึ่งผมก็คิดว่ามันไม่น่าจะทำได้ในการล๊อคครั้งเดียว
การทำเช่นนี้ต้องอาศัยเทคนิคเข้ามาช่วยครับ โดยมีแนวทางคือ
ช่วงเซลล์ใด ๆ ที่ไม่ต้องการให้คลิกได้ให้ใช้ Object มาบังไว้ เช่น Rectangle
กำหนด Transparent (ความโปร่งแสง) ให้กับ Object เป็น 100%
ในตอน Protect กำหนดให้คลิกเลือกได้ทั้ง Locked และ Unloced cells
yodpao.b
Gold
Posts: 1536 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#5
Post
by yodpao.b » Mon Feb 27, 2012 4:01 pm
เข้าใจแล้วครับ
แต่ขอถามอีกหน่อยครับ
เราสามรถใช้การเขียนโคดเข้าช่วยได้ไหม
เช่น เซลนี้คลิกได้แต่ห้ามแก้ไข ส่วนเซลอื่นคลิกไม่ได้
snasui
Site Admin
Posts: 30761 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#6
Post
by snasui » Mon Feb 27, 2012 5:54 pm
หลังจากป้องกันแบบ
ให้เลือกได้เฉพาะเซลล์ที่ไม่ได้ Locked สามารถเขียน Code เข้ามาช่วยเพื่อไม่ให้แก้ได้ครับ ยกตัวอย่างเช่น ไม่ให้แก้เซลล์ D7 สามารถเขียน Code เป็นตามด้านล่าง
Code: Select all
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$7" Then
Application.Undo
End If
End Sub
yodpao.b
Gold
Posts: 1536 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#7
Post
by yodpao.b » Tue Feb 28, 2012 2:06 pm
ขอบคุณครับ
(ผมว่าแล้วต้องมีทิป)
yodpao.b
Gold
Posts: 1536 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#8
Post
by yodpao.b » Mon Mar 12, 2012 2:11 pm
เรียนอาจาร์ยครับผมได้ใช้แบบที่อาจาร์ยว่าไว้แล้ว ผลที่ได้ดังคำอธิบายด้านล่างครับ
มันยังไม่ตรงกับสิ่งที่ต้องการครับผม
"หลังจากป้องกันแบบให้เลือกได้เฉพาะเซลล์ที่ไม่ได้ Locked สามารถเขียน Code เข้ามาช่วยเพื่อไม่ให้แก้ได้ครับ ยกตัวอย่างเช่น ไม่ให้แก้เซลล์ D9 สามารถเขียน Code เป็นตามด้านล่าง"
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$9" Then
Application.Undo
End If
End Sub
จากตัวอย่างของอาจาร์ยวิธีการที่ผมทำดังนี้
1. เซลล์ D9 มาร์คการป้องกันออก
2. สั่งการป้องกันแผ่นงาน แบบ ให้เลือกได้เฉพาะเซลล์ที่ไม่ได้ Locked
3.เมื่อแก้ไขที่ เซลล์ D9 เรียบร้อยแล้ว
ผลที่ได้คือ มันจะแวป แวป สมุติว่า ค่าที่เซล D9 เท่ากับ 111 และแก้ไขเปลี่ยนเป็น 222
หลังจากแก้ไขแล้ว มันจะ แวป แวป เป็น 111 สลับกับ 222
ที่ต้องการคือ ที่เซล D9 แก้ไขไม่ได้ หรือ ห้ามพิมพ์ครับผมจะต้องมีค่า 111
snasui
Site Admin
Posts: 30761 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#9
Post
by snasui » Mon Mar 12, 2012 2:20 pm
yodpao.b
Gold
Posts: 1536 Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard
#10
Post
by yodpao.b » Mon Mar 12, 2012 3:11 pm
ผมได้แก้ไขไปแบบอื่นแล้วครับ ขอบคุณมากครับ