การล็อกเซลล์ คอลัมน์ และแถวใน excel ทำให้คุณมีอิสระในการปกป้องข้อมูลของคุณ หลังจากปกป้องเวิร์กชีตแล้ว ทุกเซลล์จะถูกล็อกโดยค่าเริ่มต้น หมายความว่าไม่สามารถแก้ไขได้ แต่การปกป้องเซลล์ต่างๆ ทำให้คุณมีอิสระในการทำงานกับเซลล์ที่ไม่มีการป้องกัน ที่นี่ คุณจะเห็นเทคนิค excel ต่างๆ สำหรับการล็อกและปลดล็อกเซลล์ มี ฟังก์ชัน Excelเริ่มต้นมากมาย ที่เราสามารถนำมาใช้สร้างสูตรได้ อีกครั้ง การล็อกเซลล์จะไม่มีผลใดๆ ถ้าคุณไม่ปกป้องเวิร์กชีต บทความนี้จะแสดงให้คุณเห็น 6 ตัวอย่างที่ดีในการ ล็อกและปลดล็อกเซลล์ ใน Excel โดยใช้ VBA .
ดาวน์โหลดแบบฝึกหัดต่อไปนี้เพื่อฝึกฝนด้วยตัวเอง
6 ตัวอย่างที่ดีในการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA
Excel VBA สามารถทำงานที่ซับซ้อนหลายอย่างได้ง่ายมาก คุณเพียงแค่ต้องป้อนรหัสหรือเขียนรหัส ในบทความนี้ เราจะใช้ VBA เพื่อ ล็อก และ ปลดล็อกเซลล์ ใน Excel . เราจะใช้ชุดข้อมูลตัวอย่างเพื่อแสดงให้เห็น ตัวอย่างเช่น ชุดข้อมูลต่อไปนี้มี พนักงานขาย , ผลิตภัณฑ์ และ ยอดขายสุทธิ ในช่วงเซลล์ B4:D10 . เราจะล็อกช่วงเซลล์ต่างๆ กันที่นี่
1. ล็อกเซลล์ทั้งหมดในแผ่นงาน Excel ด้วย VBA
ในตัวอย่างแรกของเรา คุณจะเห็นวิธีล็อกเซลล์ทั้งหมดในเวิร์กชีต Excel ดังนั้น ให้ทำตามขั้นตอนด้านล่างเพื่อทำงาน
ขั้นตอน:
- ก่อนอื่น ไปที่ นักพัฒนา ➤ Visual Basic .
- ส่งผลให้ VBA หน้าต่างจะเด้งออกมา
- ตอนนี้ เลือก แทรก ➤ โมดูล .
- ดังนั้น โมดูล กล่องโต้ตอบจะปรากฏขึ้น
- ถัดไป ให้คัดลอกโค้ดด้านล่างแล้ววางลงใน กล่องโมดูล
Sub AllCells()
Sheets("All Cells").Cells.Locked = True
Sheets("All Cells").Protect
End Sub
- บันทึกไฟล์แล้วกดปุ่ม F5 คีย์เพื่อรันโค้ด
- ดังนั้น เมื่อคุณพยายามแก้ไขหรือแก้ไขเซลล์ใดๆ คุณจะได้รับกล่องโต้ตอบคำเตือนดังที่แสดงด้านล่าง
2. ใช้ Excel VBA สำหรับการล็อกเซลล์เฉพาะ
ตอนนี้ เราจะแสดงรหัสเพื่อล็อคเซลล์ที่ต้องการ นอกจากนี้เรายังจะใส่กล่องกาเครื่องหมายที่จะควบคุมการล็อคและการปลดล็อค ดังนั้น โปรดเรียนรู้ขั้นตอนต่อไปนี้เพื่อดำเนินการ
ขั้นตอน:
- ขั้นแรก ตั้งชื่อช่วงเซลล์ B4:D10 เป็น ตารางที่ 1 .
- ถัดไป คลิก นักพัฒนา ➤ แทรก ➤ ช่องทำเครื่องหมาย .
- หลังจากนั้น ให้ทำเครื่องหมายในช่องที่คุณต้องการ
- จากนั้น ให้คลิกขวาที่ชื่อแผ่นงาน
- เลือก ดูโค้ด จากเมนูบริบท
- ป้อนรหัสด้านล่างในกล่องโต้ตอบที่ปรากฏขึ้น
Private Sub CheckBox1_Click()
Range("Table1").Select
On Error Resume Next
If CheckBox1.Value = True Then
Selection.Locked = False
MsgBox Selection.Address & " Cell Range is Unlocked", vbInformation, "ExcelDemy"
Else
Selection.Locked = True
MsgBox Selection.Address & " Cell Range is Locked", vbInformation, "ExcelDemy"
End If
End Sub
- บันทึกไฟล์และเรียกใช้โค้ดโดยกดปุ่ม F5
- ดังนั้น การทำเครื่องหมายที่ช่องนี้จะปลดล็อกเซลล์และแสดงกล่องโต้ตอบดังที่แสดงด้านล่าง
- ในทำนองเดียวกัน การยกเลิกการเลือกช่องจะเป็นการล็อกเซลล์
3. ล็อกเฉพาะเซลล์ที่มีสูตรโดยใช้ VBA
อย่างไรก็ตาม เราสามารถล็อกได้เฉพาะเซลล์ที่มีสูตรเท่านั้น ดังนั้น ทำตามขั้นตอนเพื่อล็อกเซลล์ด้วยสูตร
ขั้นตอน:
- ขั้นแรก รับ โมดูล โดยทำตามขั้นตอนในตัวอย่าง 1 .
- พิมพ์โค้ดด้านล่างลงในช่อง
Sub LockCellsWithFormulas()
For Each Rng In ActiveSheet.Range("B5:D10")
If Rng.HasFormula Then
Rng.Locked = True
Else
Rng.Locked = False
End If
Next Rng
ActiveSheet.Protect "111"
End Sub
- หลังจากนั้น คลิกที่ RunSub เพื่อเรียกใช้โค้ด
- เราจะเห็นว่าโค้ดนี้จะล็อกเซลล์ที่เราป้อนสูตร
- ตัวอย่างเช่น D7 มีสูตร. เราจึงแก้ไขเซลล์นี้ไม่ได้
4. ล็อกแผ่นงานทั้งหมดยกเว้นบางเซลล์
นอกจากนี้ เราสามารถล็อกทั้งเวิร์กชีตได้ ยกเว้นบางเซลล์ที่เราจะระบุ ดูโค้ดด้านล่างที่ B5:D10 คือช่วงที่เราต้องการให้ปลดล็อก นอกเหนือจากช่วงนี้ แผ่นงานทั้งหมดจะถูกล็อกหลังจากเรียกใช้โค้ด
Sub WorksheetExceptFewCells()
Dim wb As Workbook
Set wb = ActiveWorkbook
wb.Sheets("Entire Worksheet Except Few").Range("B5:D10").Locked = False
wb.Sheets("Entire Worksheet Except Few").Protect passowrd = "111"
End Sub
5. ล็อกเซลล์หลังจากป้อนข้อมูลใน Excel
อีกครั้ง จำเป็นต้องล็อกเซลล์หลังจากป้อนข้อมูลในช่วงที่ต้องการ ในตัวอย่างนี้ B4:D10 คือช่วงที่เราจะป้อนข้อมูล ดังนั้น ให้ทำตามขั้นตอนด้านล่างเพื่อล็อคเซลล์หลังจากป้อนข้อมูลใน excel
ขั้นตอน:
- ขั้นแรก ให้คลิกขวาที่ชื่อชีตและเลือก ดูโค้ด .
- ป้อนรหัสต่อไปนี้ในกล่องโต้ตอบ
Dim rg As Range
Dim str As String
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("B4:D10"), Target) Is Nothing Then
Set rg = Target.Item(1)
str = rg.Value
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xg As Range
On Error Resume Next
Set xg = Intersect(Range("B4:D10"), Target)
If xg Is Nothing Then Exit Sub
Target.Worksheet.Unprotect Password:="111"
If xg.Value <> str Then xg.Locked = True
Target.Worksheet.Protect Password:="111"
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("B4:D10"), Target) Is Nothing Then
Set rg = Target.Item(1)
str = rg.Value
End If
End Sub
- เรียกใช้โค้ดโดยกดปุ่ม RunSub หรือปุ่ม F5
- หลังจากนั้น ให้พิมพ์ค่าข้อมูลของคุณในช่วง
- ระบบจะล็อกโดยอัตโนมัติ
- หากคุณพยายามแก้ไข คุณจะได้รับกล่องโต้ตอบคำเตือนดังที่แสดงด้านล่าง
6. ปลดล็อกเซลล์ใน Excel โดยใช้ VBA
จนถึงตอนนี้ เราได้อธิบายวิธีล็อคเซลล์แล้ว ตอนนี้คุณสามารถใช้โค้ดด้านล่างเพื่อปลดล็อกเซลล์ในเวิร์กบุ๊ก excel ได้
Sub UnlockCells()
Sheets("Unlock Cells").Cells.Locked = False
Sheets("Unlock Cells").Unprotect
End Sub
วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยไม่ต้องใช้ VBA
คุณยังสามารถล็อกและปลดล็อกเซลล์โดยไม่ต้องใช้ VBA . เราสามารถใช้ จัดรูปแบบเซลล์ กล่องโต้ตอบเพื่อล็อก/ปลดล็อกเซลล์ คุณต้องทำเครื่องหมายที่ช่อง ล็อก หากคุณต้องการล็อคเซลล์ ในทำนองเดียวกัน หากต้องการปลดล็อกเซลล์ การยกเลิกการเลือกช่องจะทำได้ ขอย้ำอีกครั้งว่าการล็อกเซลล์จะไม่มีผลใดๆ ถ้าคุณไม่ปกป้องแผ่นงานหรือสมุดงาน
ขั้นตอน:
- ขั้นแรก เลือกช่วงที่คุณต้องการ
- จากนั้น ให้กดปุ่ม Ctrl และ 1 กุญแจเข้าด้วยกัน
- จะส่งกลับ จัดรูปแบบเซลล์ กล่องโต้ตอบ
- ภายใต้ การป้องกัน ให้ตรวจสอบ/ยกเลิกการเลือก ล็อก กล่องขึ้นอยู่กับความจำเป็นของคุณ
- ถ้าคุณต้องการปกป้องเวิร์กชีต ให้ไปที่ แท็บตรวจทาน
- ที่นั่น เลือก ปกป้องแผ่นงาน จาก ปกป้อง ดรอปวอน
- ดังนั้น แผ่นงานจะได้รับการปกป้อง
บทสรุป
ต่อจากนี้ไปคุณจะสามารถ ล็อกและปลดล็อกเซลล์ ใน Excel โดยใช้ VBA ตามตัวอย่างที่อธิบายข้างต้น การล็อคเซลล์บางเซลล์ใน excel ช่วยให้คุณมีอิสระในการรักษาความปลอดภัยข้อมูลจากผู้อื่น ช่วยให้คุณป้องกันการลบโดยไม่ตั้งใจหรือป้องกันไม่ให้ผู้อื่นทำลายข้อมูลของคุณ ใช้ต่อไปและแจ้งให้เราทราบหากคุณมีวิธีอื่นๆ ในการทำงาน ติดตาม ExcelDemy เว็บไซต์สำหรับบทความเพิ่มเติมเช่นนี้ อย่าลืมแสดงความคิดเห็น ข้อเสนอแนะ หรือข้อสงสัยหากมีในส่วนความคิดเห็นด้านล่าง