Computer >> คอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

การล็อกเซลล์ คอลัมน์ และแถวใน excel ทำให้คุณมีอิสระในการปกป้องข้อมูลของคุณ หลังจากปกป้องเวิร์กชีตแล้ว ทุกเซลล์จะถูกล็อกโดยค่าเริ่มต้น หมายความว่าไม่สามารถแก้ไขได้ แต่การปกป้องเซลล์ต่างๆ ทำให้คุณมีอิสระในการทำงานกับเซลล์ที่ไม่มีการป้องกัน ที่นี่ คุณจะเห็นเทคนิค excel ต่างๆ สำหรับการล็อกและปลดล็อกเซลล์ มี ฟังก์ชัน Excelเริ่มต้นมากมาย ที่เราสามารถนำมาใช้สร้างสูตรได้ อีกครั้ง การล็อกเซลล์จะไม่มีผลใดๆ ถ้าคุณไม่ปกป้องเวิร์กชีต บทความนี้จะแสดงให้คุณเห็น 6 ตัวอย่างที่ดีในการ ล็อกและปลดล็อกเซลล์ ใน Excel โดยใช้ VBA .

ดาวน์โหลดแบบฝึกหัดต่อไปนี้เพื่อฝึกฝนด้วยตัวเอง

6 ตัวอย่างที่ดีในการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

Excel VBA สามารถทำงานที่ซับซ้อนหลายอย่างได้ง่ายมาก คุณเพียงแค่ต้องป้อนรหัสหรือเขียนรหัส ในบทความนี้ เราจะใช้ VBA เพื่อ ล็อก และ ปลดล็อกเซลล์ ใน Excel . เราจะใช้ชุดข้อมูลตัวอย่างเพื่อแสดงให้เห็น ตัวอย่างเช่น ชุดข้อมูลต่อไปนี้มี พนักงานขาย , ผลิตภัณฑ์ และ ยอดขายสุทธิ ในช่วงเซลล์ B4:D10 . เราจะล็อกช่วงเซลล์ต่างๆ กันที่นี่

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

1. ล็อกเซลล์ทั้งหมดในแผ่นงาน Excel ด้วย VBA

ในตัวอย่างแรกของเรา คุณจะเห็นวิธีล็อกเซลล์ทั้งหมดในเวิร์กชีต Excel ดังนั้น ให้ทำตามขั้นตอนด้านล่างเพื่อทำงาน

ขั้นตอน:

  • ก่อนอื่น ไปที่ นักพัฒนา ➤ Visual Basic .

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

  • ส่งผลให้ VBA หน้าต่างจะเด้งออกมา
  • ตอนนี้ เลือก แทรก ➤ โมดูล .

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

  • ดังนั้น โมดูล กล่องโต้ตอบจะปรากฏขึ้น
  • ถัดไป ให้คัดลอกโค้ดด้านล่างแล้ววางลงใน กล่องโมดูล
Sub AllCells()
Sheets("All Cells").Cells.Locked = True
Sheets("All Cells").Protect
End Sub

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

  • บันทึกไฟล์แล้วกดปุ่ม F5 คีย์เพื่อรันโค้ด
  • ดังนั้น เมื่อคุณพยายามแก้ไขหรือแก้ไขเซลล์ใดๆ คุณจะได้รับกล่องโต้ตอบคำเตือนดังที่แสดงด้านล่าง

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

2. ใช้ Excel VBA สำหรับการล็อกเซลล์เฉพาะ

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

ขั้นตอน:

  • ขั้นแรก ตั้งชื่อช่วงเซลล์ B4:D10 เป็น ตารางที่ 1 .

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

  • ถัดไป คลิก นักพัฒนา ➤ แทรก ➤ ช่องทำเครื่องหมาย .

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

  • หลังจากนั้น ให้ทำเครื่องหมายในช่องที่คุณต้องการ
  • จากนั้น ให้คลิกขวาที่ชื่อแผ่นงาน
  • เลือก ดูโค้ด จากเมนูบริบท

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

  • ป้อนรหัสด้านล่างในกล่องโต้ตอบที่ปรากฏขึ้น
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

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

  • บันทึกไฟล์และเรียกใช้โค้ดโดยกดปุ่ม F5
  • ดังนั้น การทำเครื่องหมายที่ช่องนี้จะปลดล็อกเซลล์และแสดงกล่องโต้ตอบดังที่แสดงด้านล่าง

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

  • ในทำนองเดียวกัน การยกเลิกการเลือกช่องจะเป็นการล็อกเซลล์

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

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

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

  • หลังจากนั้น คลิกที่ RunSub เพื่อเรียกใช้โค้ด
  • เราจะเห็นว่าโค้ดนี้จะล็อกเซลล์ที่เราป้อนสูตร
  • ตัวอย่างเช่น D7 มีสูตร. เราจึงแก้ไขเซลล์นี้ไม่ได้

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

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

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

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

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

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

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

6. ปลดล็อกเซลล์ใน Excel โดยใช้ VBA

จนถึงตอนนี้ เราได้อธิบายวิธีล็อคเซลล์แล้ว ตอนนี้คุณสามารถใช้โค้ดด้านล่างเพื่อปลดล็อกเซลล์ในเวิร์กบุ๊ก excel ได้

Sub UnlockCells()
Sheets("Unlock Cells").Cells.Locked = False
Sheets("Unlock Cells").Unprotect
End Sub

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยไม่ต้องใช้ VBA

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

ขั้นตอน:

  • ขั้นแรก เลือกช่วงที่คุณต้องการ
  • จากนั้น ให้กดปุ่ม Ctrl และ 1 กุญแจเข้าด้วยกัน
  • จะส่งกลับ จัดรูปแบบเซลล์ กล่องโต้ตอบ
  • ภายใต้ การป้องกัน ให้ตรวจสอบ/ยกเลิกการเลือก ล็อก กล่องขึ้นอยู่กับความจำเป็นของคุณ

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

  • ถ้าคุณต้องการปกป้องเวิร์กชีต ให้ไปที่ แท็บตรวจทาน
  • ที่นั่น เลือก ปกป้องแผ่นงาน จาก ปกป้อง ดรอปวอน
  • ดังนั้น แผ่นงานจะได้รับการปกป้อง

วิธีการล็อกและปลดล็อกเซลล์ใน Excel โดยใช้ VBA

บทสรุป

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