หน้าเว็บบอร์ด Knowledge Excel การป้องกันเซล

การป้องกันเซล

ฟอรั่มถาม-ตอบปัญหาการใช้งาน MS Excel and VBA

กฎการใช้บอร์ด

  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถาม-ตอบปัญหา เช่น คับ (ครับ), เด๋ว (เดี๋ยว) เป็นต้น
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. อธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. ควรแนบไฟล์ตัวอย่างมาแทนไฟล์จริงประกอบคำถาม เพื่อป้องกันข้อมูลสำคัญรั่วไหล นอกจากนี้ยังช่วยเพิ่มความสะดวกในการตอบคำถาม
  5. สำหรับคำถามเกี่ยวกับ VBA ให้ลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน
  6. แจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่

โพสต์ จันทร์ ก.พ. 27, 2012 2:17 pm
yodpao.b Silver
Silver

โพสต์: 518
"การป้องกันเซล"
ต้องการ
-ล็อคเซลทั้งหมด ที่เป็นพื้นที่สีชมพู
-ล็อคเซลทั้งหมด ที่เป็นพื้นที่ช่องสีขาว แต่สามารถคลิกได้และห้ามแก้ไข
รบกวนดูให้หน่อยละครับ
ผมลองใช้การป้องกันแล้วทำได้เฉพาะ ที่เป็นพื้นที่สีชมพู
คุณไม่มีสิทธิ์ดูไฟล์ที่แนบมาในกระทู้

โพสต์ จันทร์ ก.พ. 27, 2012 2:56 pm
snasui ภาพประจำตัวสมาชิก
Site Admin
Site Admin

โพสต์: 14695
ที่อยู่: Songkhla, Thailand

:D การ Lock เซลล์ลองตามตาม Link นี้ viewtopic.php?p=691#p691

สำหรับการ Lock เซลล์แล้วให้คลิกเลือกได้แต่แก้ไขไม่ได้สามารถเลือกตามภาพด้านล่าง แต่เซลล์ที่ไม่ให้แก้ไขได้นั้นจะต้องทำการ Locked ไว้ก่อนครับ

SelectCellsFromLockCells.png
คุณไม่มีสิทธิ์ดูไฟล์ที่แนบมาในกระทู้
คนควน รูปภาพ รูปภาพ รูปภาพ รูปภาพ
MVP-Excel (2010-2013)

โพสต์ จันทร์ ก.พ. 27, 2012 3:17 pm
bank9597 ภาพประจำตัวสมาชิก
Guru
Guru

โพสต์: 3434
:lol: ตามที่ผมเห็นคือ ผู้ถามต้องการล็อค 2 แบบในเวิร์คชีทเดียว คือ เซลล์สีชมพูต้องการล๊อคแบบไม่ให้คลิ๊กได้ ส่วนเซลล์สีขาวให้ล๊อคแบบธรรมดาคือ คลิ๊กเซลล์ได้แต่ไม่ให้แก้ไข

ซึ่งผมก็คิดว่ามันไม่น่าจะทำได้ในการล๊อคครั้งเดียว
รูปภาพ Facebook รูปภาพ Google+ รูปภาพ Twitter รูปภาพ เว็บไซต์ รูปภาพ พุทโธโลยี

โพสต์ จันทร์ ก.พ. 27, 2012 3:50 pm
snasui ภาพประจำตัวสมาชิก
Site Admin
Site Admin

โพสต์: 14695
ที่อยู่: Songkhla, Thailand

bank9597 เขียน:
:lol: ตามที่ผมเห็นคือ ผู้ถามต้องการล็อค 2 แบบในเวิร์คชีทเดียว คือ เซลล์สีชมพูต้องการล๊อคแบบไม่ให้คลิ๊กได้ ส่วนเซลล์สีขาวให้ล๊อคแบบธรรมดาคือ คลิ๊กเซลล์ได้แต่ไม่ให้แก้ไข

ซึ่งผมก็คิดว่ามันไม่น่าจะทำได้ในการล๊อคครั้งเดียว
การทำเช่นนี้ต้องอาศัยเทคนิคเข้ามาช่วยครับ โดยมีแนวทางคือ
  1. ช่วงเซลล์ใด ๆ ที่ไม่ต้องการให้คลิกได้ให้ใช้ Object มาบังไว้เช่น Rectangle
  2. กำหนด Transparent (ความโปร่งแสง) ให้กับ Object เป็น 100%
  3. ในตอน Protect กำหนดให้คลิกเลือกได้ทั้ง Locked และ Unloced cells
คนควน รูปภาพ รูปภาพ รูปภาพ รูปภาพ
MVP-Excel (2010-2013)

โพสต์ จันทร์ ก.พ. 27, 2012 4:01 pm
yodpao.b Silver
Silver

โพสต์: 518
เข้าใจแล้วครับ
แต่ขอถามอีกหน่อยครับ
เราสามรถใช้การเขียนโคดเข้าช่วยได้ไหม
เช่น เซลนี้คลิกได้แต่ห้ามแก้ไข ส่วนเซลอื่นคลิกไม่ได้

โพสต์ จันทร์ ก.พ. 27, 2012 5:54 pm
snasui ภาพประจำตัวสมาชิก
Site Admin
Site Admin

โพสต์: 14695
ที่อยู่: Songkhla, Thailand

:lol: หลังจากป้องกันแบบให้เลือกได้เฉพาะเซลล์ที่ไม่ได้ Locked สามารถเขียน Code เข้ามาช่วยเพื่อไม่ให้แก้ได้ครับ ยกตัวอย่างเช่น ไม่ให้แก้เซลล์ D7 สามารถเขียน Code เป็นตามด้านล่าง
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$D$7" Then
        Application.Undo
    End If
End Sub
คนควน รูปภาพ รูปภาพ รูปภาพ รูปภาพ
MVP-Excel (2010-2013)

โพสต์ อังคาร ก.พ. 28, 2012 2:06 pm
yodpao.b Silver
Silver

โพสต์: 518
ขอบคุณครับ
(ผมว่าแล้วต้องมีทิป)

โพสต์ จันทร์ มี.ค. 12, 2012 2:11 pm
yodpao.b Silver
Silver

โพสต์: 518
เรียนอาจาร์ยครับผมได้ใช้แบบที่อาจาร์ยว่าไว้แล้ว ผลที่ได้ดังคำอธิบายด้านล่างครับ
มันยังไม่ตรงกับสิ่งที่ต้องการครับผม

"หลังจากป้องกันแบบให้เลือกได้เฉพาะเซลล์ที่ไม่ได้ 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

โพสต์ จันทร์ มี.ค. 12, 2012 2:20 pm
snasui ภาพประจำตัวสมาชิก
Site Admin
Site Admin

โพสต์: 14695
ที่อยู่: Songkhla, Thailand

:D กรณีไม่ให้พิมพ์จะต้อง locked ครับ และเมื่อ Locked แล้ว สามารถกำหนดให้คลิกลงในเซลล์ได้ หรือ คลิกลงในเซลล์ไม่ได้ อย่างใดอย่างหนึ่ง หากความต้องการคือ Locked ทั้งหมด แต่บางส่วนให้คลิกลงในเซลล์ได้บางส่วนเลือกไม่ได้เช่นนี้แล้ว ไม่มีความสามารถนี้ใน Version ปัจจุบันลงไปครับ คงต้องรอ Version ถัด ๆ ไปยกเว้นจะเขียนเองด้วย Macro อย่างที่ผมทำเป็นตัวอย่างไปให้ :mrgreen: :mrgreen: :lol:
คนควน รูปภาพ รูปภาพ รูปภาพ รูปภาพ
MVP-Excel (2010-2013)

โพสต์ จันทร์ มี.ค. 12, 2012 3:11 pm
yodpao.b Silver
Silver

โพสต์: 518
ผมได้แก้ไขไปแบบอื่นแล้วครับ ขอบคุณมากครับ


ย้อนกลับไปยัง Excel