Page 1 of 1
การป้องกันเซล
Posted: Mon Feb 27, 2012 2:17 pm
by yodpao.b
"การป้องกันเซล"
ต้องการ
-ล็อคเซลทั้งหมด ที่เป็นพื้นที่สีชมพู
-ล็อคเซลทั้งหมด ที่เป็นพื้นที่ช่องสีขาว แต่สามารถคลิกได้และห้ามแก้ไข
รบกวนดูให้หน่อยละครับ
ผมลองใช้การป้องกันแล้วทำได้เฉพาะ ที่เป็นพื้นที่สีชมพู
Re: การป้องกันเซล
Posted: Mon Feb 27, 2012 2:56 pm
by snasui
การ Lock เซลล์ลองตามตาม Link นี้
http://www.snasui.com/viewtopic.php?p=691#p691
สำหรับการ Lock เซลล์แล้วให้คลิกเลือกได้แต่แก้ไขไม่ได้สามารถเลือกตามภาพด้านล่าง แต่เซลล์ที่ไม่ให้แก้ไขได้นั้นจะต้องทำการ Locked ไว้ก่อนครับ
SelectCellsFromLockCells.png
Re: การป้องกันเซล
Posted: Mon Feb 27, 2012 3:17 pm
by bank9597
ตามที่ผมเห็นคือ ผู้ถามต้องการล็อค 2 แบบในเวิร์คชีทเดียว คือ เซลล์สีชมพูต้องการล๊อคแบบไม่ให้คลิ๊กได้ ส่วนเซลล์สีขาวให้ล๊อคแบบธรรมดาคือ คลิ๊กเซลล์ได้แต่ไม่ให้แก้ไข
ซึ่งผมก็คิดว่ามันไม่น่าจะทำได้ในการล๊อคครั้งเดียว
Re: การป้องกันเซล
Posted: Mon Feb 27, 2012 3:50 pm
by snasui
bank9597 wrote: ตามที่ผมเห็นคือ ผู้ถามต้องการล็อค 2 แบบในเวิร์คชีทเดียว คือ เซลล์สีชมพูต้องการล๊อคแบบไม่ให้คลิ๊กได้ ส่วนเซลล์สีขาวให้ล๊อคแบบธรรมดาคือ คลิ๊กเซลล์ได้แต่ไม่ให้แก้ไข
ซึ่งผมก็คิดว่ามันไม่น่าจะทำได้ในการล๊อคครั้งเดียว
การทำเช่นนี้ต้องอาศัยเทคนิคเข้ามาช่วยครับ โดยมีแนวทางคือ
- ช่วงเซลล์ใด ๆ ที่ไม่ต้องการให้คลิกได้ให้ใช้ Object มาบังไว้เช่น Rectangle
- กำหนด Transparent (ความโปร่งแสง) ให้กับ Object เป็น 100%
- ในตอน Protect กำหนดให้คลิกเลือกได้ทั้ง Locked และ Unloced cells
Re: การป้องกันเซล
Posted: Mon Feb 27, 2012 4:01 pm
by yodpao.b
เข้าใจแล้วครับ
แต่ขอถามอีกหน่อยครับ
เราสามรถใช้การเขียนโคดเข้าช่วยได้ไหม
เช่น เซลนี้คลิกได้แต่ห้ามแก้ไข ส่วนเซลอื่นคลิกไม่ได้
Re: การป้องกันเซล
Posted: Mon Feb 27, 2012 5:54 pm
by snasui
หลังจากป้องกันแบบ
ให้เลือกได้เฉพาะเซลล์ที่ไม่ได้ 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
Re: การป้องกันเซล
Posted: Tue Feb 28, 2012 2:06 pm
by yodpao.b
ขอบคุณครับ
(ผมว่าแล้วต้องมีทิป)
Re: การป้องกันเซล
Posted: Mon Mar 12, 2012 2:11 pm
by yodpao.b
เรียนอาจาร์ยครับผมได้ใช้แบบที่อาจาร์ยว่าไว้แล้ว ผลที่ได้ดังคำอธิบายด้านล่างครับ
มันยังไม่ตรงกับสิ่งที่ต้องการครับผม
"หลังจากป้องกันแบบให้เลือกได้เฉพาะเซลล์ที่ไม่ได้ 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
Re: การป้องกันเซล
Posted: Mon Mar 12, 2012 2:20 pm
by snasui
Re: การป้องกันเซล
Posted: Mon Mar 12, 2012 3:11 pm
by yodpao.b
ผมได้แก้ไขไปแบบอื่นแล้วครับ ขอบคุณมากครับ