Note: The other languages of the website are Google-translated. Back to English
English English

วิธีป้องกันไม่ให้ลบเนื้อหาของเซลล์ใน Excel

บทความนี้พูดถึงการป้องกันไม่ให้ลบเนื้อหาของเซลล์ใน Excel คุณสามารถบรรลุได้ด้วยวิธีการในบทความนี้

ป้องกันไม่ให้เนื้อหาของเซลล์ถูกลบโดยการปกป้องแผ่นงาน
ป้องกันไม่ให้เนื้อหาของเซลล์ถูกลบโดยใช้รหัส VBA


ป้องกันไม่ให้เนื้อหาของเซลล์ถูกลบโดยการปกป้องแผ่นงาน


ตามค่าเริ่มต้นเซลล์ทั้งหมดในแผ่นงานจะถูกล็อค หากคุณต้องการป้องกันไม่ให้ลบเนื้อหาของเซลล์และทำให้เซลล์อื่นสามารถแก้ไขได้หลังจากป้องกันแล้วโปรดทำดังนี้

1 คลิกที่ ที่มุมบนซ้ายของแผ่นงานเพื่อเลือกทั้งแผ่นงาน จากนั้นกด Ctrl + 1 คีย์เพื่อเปิด จัดรูปแบบเซลล์ กล่องโต้ตอบ

2. ในการโผล่ขึ้นมา จัดรูปแบบเซลล์ กล่องโต้ตอบยกเลิกการเลือก ล็อค ภายใต้ การป้องกัน จากนั้นคลิกแท็บ OK ปุ่ม. ดูภาพหน้าจอ:

3. เลือกเซลล์ที่คุณไม่ต้องการให้ลบเนื้อหาแล้วกด Ctrl + 1 ปุ่มเพื่อเปิดไฟล์ จัดรูปแบบเซลล์ กล่องโต้ตอบอีกครั้งตรวจสอบไฟล์ ล็อค ภายใต้ การป้องกัน จากนั้นคลิกแท็บ OK ปุ่ม

4. ตอนนี้คลิก รีวิว > ป้องกันแผ่นงานจากนั้นระบุและยืนยันรหัสผ่านของคุณทั้งในไฟล์ ป้องกันแผ่นงาน และ ยืนยันรหัสผ่าน กล่องโต้ตอบ

ตอนนี้แผ่นงานได้รับการป้องกัน และเนื้อหาของเซลล์ที่ระบุจะไม่ถูกลบอีกต่อไป


ป้องกันไม่ให้เนื้อหาของเซลล์ถูกลบโดยใช้รหัส VBA

นอกเหนือจากสองวิธีข้างต้นคุณสามารถเรียกใช้รหัส VBA เพื่อป้องกันไม่ให้ลบเนื้อหาของเซลล์ในแผ่นงานได้ กรุณาดำเนินการดังนี้

1. เปิดแผ่นงานที่มีเนื้อหาของเซลล์ที่คุณไม่ต้องการลบคลิกขวาที่แท็บแผ่นงานจากนั้นคลิก ดูรหัส จากเมนูคลิกขวา

2. คัดลอกและวางโค้ด VBA ด้านล่างลงในหน้าต่างรหัสของ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

รหัส VBA: ป้องกันไม่ให้ลบเนื้อหาของเซลล์ใน Excel

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1:E7")) Is Nothing Then Exit Sub
    On Error GoTo ExitPoint
    Application.EnableEvents = False
    If Not IsDate(Target(1)) Then
        Application.Undo
        MsgBox " You can't delete cell contents from this range " _
        , vbCritical, "Kutools for Excel"
    End If
ExitPoint:
    Application.EnableEvents = True
End Sub

หมายเหตุ: ในรหัส A1: E17 คือช่วงที่เนื้อหาของเซลล์ที่คุณจะป้องกันไม่ให้ถูกลบ คุณสามารถเปลี่ยนช่วงตามความต้องการของคุณ

จากนี้ไปเมื่อคุณพยายามลบเนื้อหาเซลล์จากช่วง A1: E17 คุณจะได้รับไฟล์ Kutools สำหรับ Excel กล่องโต้ตอบด้านล่างภาพหน้าจอที่แสดงโปรดคลิกที่ไฟล์ OK ปุ่ม


บทความที่เกี่ยวข้อง:


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (16)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สิ่งที่ฉันกำลังมองหา ขอบคุณสำหรับความช่วยเหลือ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ไม่ต้องกังวลเสมอที่นี่เพื่อช่วย :)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี,

ฉันเพิ่งลองใช้สคริปต์ VBA และใช้งานได้ดีในสถานการณ์ส่วนใหญ่ อย่างไรก็ตาม จะไม่ทำงานเมื่อคุณแท็บจากเซลล์ที่แก้ไขได้ลงในคอลัมน์/เซลล์ที่ไม่สามารถแก้ไขได้ ปัญหาเกิดขึ้นจากการที่ข้อความแสดงข้อผิดพลาดปรากฏขึ้น - ตามคำสั่ง - แต่จะไม่เก็บข้อมูลที่ป้อนในเซลล์เดิมที่แก้ไขได้ซึ่งถูกแท็บไว้

คุณจะมีการแก้ไขสคริปต์เพื่อให้ยอมรับข้อมูลในเซลล์ที่แก้ไขได้เมื่อคุณแท็บแก้ไขไม่ได้หรือไม่

ไชโย
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
วันดี,
ฉันลองตามที่คุณพูดถึงในกรณีของคุณแล้ว แต่ไม่มีข้อผิดพลาดเกิดขึ้น คุณจะให้ภาพหน้าจอของกรณีของคุณหรือบอกฉันเกี่ยวกับเวอร์ชัน Office ของคุณหรือไม่
ขอบคุณสำหรับความคิดเห็นของคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
หากคุณไม่ต้องการดูชีตของคุณหรือเขียนโค้ด VBA ฉันใช้เทคนิคง่ายๆ ที่ป้องกันการแทนที่ใด ๆ ยกเว้นเมื่อพวกเขาใช้ปุ่ม "DELETE" (จะไม่อนุญาตให้ใช้แบ็คสเปซ แต่การลบนั้นหยุดยาก ). สิ่งที่ฉันทำคือการเพิ่มการตรวจสอบความถูกต้องของข้อมูลด้วยการตั้งค่าต่อไปนี้:

1) อนุญาต --> รายการ

2) ยกเลิกการเลือก "ละเว้นช่องว่าง" และ "ดรอปดาวน์ในเซลล์"

3) ในแหล่งที่มาให้ป้อนเครื่องหมายคำพูดสองอัน (เช่น "")

4) ในแท็บ Error Alert ให้เลือก "แสดงข้อผิดพลาด alter หลังจากป้อนข้อมูลที่ไม่ถูกต้อง" เลือก "Stop" สำหรับรูปแบบ จากนั้นป้อนข้อความแสดงข้อผิดพลาดและคำอธิบาย (เช่น Don't override)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี
ขอบคุณที่แชร์กัน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัส VBA - คำแนะนำที่ดี ขอบคุณ

มีรหัส VBA เพื่อป้องกันเนื้อหาเซลล์เฉพาะไม่ให้ถูกแก้ไขและลบใน Excel หรือไม่
แผ่นงานป้องกันปกติใช้ไม่ได้สำหรับฉันเพราะฉันสูญเสียความสามารถในการจัดเรียงข้อมูลใช่หรือไม่

ขอบคุณล่วงหน้า - นีล
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
"ป้องกันไม่ให้เนื้อหาเซลล์เฉพาะถูกลบโดยการปกป้องเวิร์กชีต" ฉันทำตามแนวทางของคุณแล้ว ข้อมูลเซลล์ยังคงถูกลบได้ เช่น การป้องกันไม่ทำงาน วิธีแก้ปัญหาใดๆ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี อาซัน
คุณใช้วิธี VBA หรือไม่?
คุณต้องเพิ่ม VBA ลงในหน้าต่างรหัสเวิร์กชีต สมมติว่าเนื้อหาของเซลล์ที่คุณต้องการป้องกันอยู่ใน Sheet9 โปรดคลิกขวาที่แท็บแผ่นงานแล้วเลือกดูโค้ดจากเมนูบริบท จากนั้นคัดลอกโค้ดโดยตรงไปยังหน้าต่างโค้ดดังภาพด้านล่างที่แสดง
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี รหัสนี้ใช้งานได้ดี อย่างไรก็ตาม การลบแถว/คอลัมน์จะข้ามมันไปได้ มีวิธีแก้ปัญหานี้หรือไม่? ไชโย, เดวิด.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีเดวิด
คุณใช้ Excel เวอร์ชันใดอยู่ ฉันได้ลองใช้รหัสแล้ว ไม่สามารถลบทั้งแถวและคอลัมน์ในช่วงที่ระบุหลังจากใช้รหัส
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณสำหรับข้อมูลที่มีค่า
เกี่ยวกับ VBA ด้านล่าง:
Worksheet_Change ย่อยส่วนตัว (เป้าหมายเป็นช่วง ByVal)
ถ้า Intersect(Target, Range("A1:E7")) ไม่มีอะไร ก็จบ Sub
เกี่ยวกับข้อผิดพลาด GoTo ExitPoint
Application.EnableEvents = เท็จ
ถ้าไม่ใช่ IsDate(Target(1)) แล้ว
แอปพลิเคชันเลิกทำ
MsgBox " คุณไม่สามารถลบเนื้อหาในเซลล์ออกจากช่วงนี้ได้ " _
, vbCritical, "Kutools สำหรับ Excel"
End If
จุดออก:
Application.EnableEvents = จริง
ย่อยสิ้นสุด

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

Worksheet_Change ย่อยส่วนตัว (เป้าหมายเป็นช่วง ByVal)
ถ้า Intersect(Target, Range("A1:M7000")) ไม่มีอะไร ก็ให้ออกจาก Sub
เกี่ยวกับข้อผิดพลาด GoTo ExitPoint
Application.EnableEvents = เท็จ
ถ้าไม่ใช่ IsDate(Target(1)) แล้ว
แอปพลิเคชันเลิกทำ
MsgBox " คุณไม่สามารถลบเนื้อหาในเซลล์ออกจากช่วงนี้ได้ " _
, vbCritical, "Kutools สำหรับ Excel"
End If
จุดออก:
Application.EnableEvents = จริง
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีคุณเจล
คุณต้องการป้องกันไม่ให้ช่วง "A1:M7000" ถูกลบในเวิร์กชีตทั้งหมดของเวิร์กบุ๊กปัจจุบันหรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ไม่ ฉันตั้งใจจะไม่อนุญาตให้ลบ (โดยไม่ป้องกัน wks หรือ wkb)

เป็นเรื่องที่ดีที่งานข้างต้นในระดับ Wks

ถ้ามีบางอย่างที่จะทำให้มันทำงานในระดับ wkb มันจะดีกว่านี้ (ฉันมีหลายแผ่น)

G
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ