: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
yodpao.b
Gold
Gold
Posts: 1531
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

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

#1

Post by yodpao.b »

"การป้องกันเซล"
ต้องการ
-ล็อคเซลทั้งหมด ที่เป็นพื้นที่สีชมพู
-ล็อคเซลทั้งหมด ที่เป็นพื้นที่ช่องสีขาว แต่สามารถคลิกได้และห้ามแก้ไข
รบกวนดูให้หน่อยละครับ
ผมลองใช้การป้องกันแล้วทำได้เฉพาะ ที่เป็นพื้นที่สีชมพู
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#2

Post by snasui »

:D การ 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.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

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

#3

Post by bank9597 »

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

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

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

#4

Post by snasui »

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

ซึ่งผมก็คิดว่ามันไม่น่าจะทำได้ในการล๊อคครั้งเดียว
การทำเช่นนี้ต้องอาศัยเทคนิคเข้ามาช่วยครับ โดยมีแนวทางคือ
  1. ช่วงเซลล์ใด ๆ ที่ไม่ต้องการให้คลิกได้ให้ใช้ Object มาบังไว้เช่น Rectangle
  2. กำหนด Transparent (ความโปร่งแสง) ให้กับ Object เป็น 100%
  3. ในตอน Protect กำหนดให้คลิกเลือกได้ทั้ง Locked และ Unloced cells
yodpao.b
Gold
Gold
Posts: 1531
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

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

#5

Post by yodpao.b »

เข้าใจแล้วครับ
แต่ขอถามอีกหน่อยครับ
เราสามรถใช้การเขียนโคดเข้าช่วยได้ไหม
เช่น เซลนี้คลิกได้แต่ห้ามแก้ไข ส่วนเซลอื่นคลิกไม่ได้
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#6

Post by snasui »

:lol: หลังจากป้องกันแบบให้เลือกได้เฉพาะเซลล์ที่ไม่ได้ 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
Gold
Posts: 1531
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

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

#7

Post by yodpao.b »

ขอบคุณครับ
(ผมว่าแล้วต้องมีทิป)
yodpao.b
Gold
Gold
Posts: 1531
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

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

#8

Post 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
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#9

Post by snasui »

:D กรณีไม่ให้พิมพ์จะต้อง locked ครับ และเมื่อ Locked แล้ว สามารถกำหนดให้คลิกลงในเซลล์ได้ หรือ คลิกลงในเซลล์ไม่ได้ อย่างใดอย่างหนึ่ง หากความต้องการคือ Locked ทั้งหมด แต่บางส่วนให้คลิกลงในเซลล์ได้บางส่วนเลือกไม่ได้เช่นนี้แล้ว ไม่มีความสามารถนี้ใน Version ปัจจุบันลงไปครับ คงต้องรอ Version ถัด ๆ ไปยกเว้นจะเขียนเองด้วย Macro อย่างที่ผมทำเป็นตัวอย่างไปให้ :mrgreen: :mrgreen: :lol:
yodpao.b
Gold
Gold
Posts: 1531
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

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

#10

Post by yodpao.b »

ผมได้แก้ไขไปแบบอื่นแล้วครับ ขอบคุณมากครับ
Post Reply