เทคนิคการเลือกเซลล์ที่ไม่ได้ทำการ Locked เพื่อ Clear ข้อมูลในคราวเดียว

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

การเลือกเซลล์ที่ไม่ได้ทำการ Locked เอาไว้พร้อม ๆ กันทีเดียวขอเสนอไว้ 2 วิธีดังนี้ครับ

  1. ด้วยการสร้าง Custom View โดยการเลือกเซลล์ที่ให้แก้ไขได้ไว้ก่อน จากนั้นเข้าไปกำหนดชื่อให้กับ View โดยเข้าเมนู View > Custom View > Add > กำหนดชื่อ View
    เมื่อจะเรียกใช้งานให้เข้าเมนูเดียวกันแล้วเลือกชื่อ View ที่ต้องการ
  2. ด้วยการเขียน Code VBA ซึ่งมีตัวอย่าง Code ตามด้านล่าง
    Option Explicit 
    Sub DelUnlocked() 
        Dim r As range
        Dim uRange As range 
        Set uRange = Worksheets("Sheet1").UsedRange 
        For Each r In uRange 
            If r.Locked = False Then r.ClearContents
        Next r
        MsgBox "Complete" 
    End Sub

ดูภาพประกอบทั้งสองวิธีตามด้านล่างครับ

SelectUnlockedCells
ภาพ 1 การเลือกเซลล์ที่ไม่ได้ Locked

Revised: January 28, 2017 at 20:06

3 thoughts on “เทคนิคการเลือกเซลล์ที่ไม่ได้ทำการ Locked เพื่อ Clear ข้อมูลในคราวเดียว”

  1. ขอขอบคุณที่ี่ให้ข้อมูลความรู้ซึ่งมีประโยชน์อย่างมากผมได้ลองทำตาม custom view แล้ว ใช้ได้ผลดีแต่อยากลองทำแบบ VBA ดูด้วย โดยคัดลอกคำสั่งมาจากเวป แล้วเรียกใช้แมคโคร delunlocked จนขึ้นว่า complete ok แต่ไม่มีการลบข้อมูลครับ ไม่ทราบว่าต้องตั้งค่าอะไรอีกหรือเปล่าครับขอบคุณครับ

  2. ขอบคุณสำหรับคำแนะนำครับตามความเข้าใจของผม สำหรับคนที่มาอ่านที่หลัง เทคนิคนี้มีเงื่อนไขการใช้งาน เช่น1 ถ้ามีการ merge cell หรือชื่อ worksheet อื่น จะใช้งาน vba นี้ไม่ได้ถ้าจะใช้กับ merge cell, vba จะมี่ความซับซ้อนมากขึ้น2 ถ้าต้องการลบเซลล์ที่เลือกใน custom view จะต้องเลือกและสร้างใหม่ทั้งหมดแต่ถ้าต้องการเพิ่มเซลล์ สามารถเพิ่มได้โดยตั้งชื่อแทนชื่อเดิมถ้าจะเลือกเซลล์หลาย ๆ สิบเซลล์ ควรใช้ความระมัดระวังJoe

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top