Khóa các ô, cột và hàng trong excel cho phép bạn tự do bảo vệ dữ liệu của mình. Sau khi bảo vệ một trang tính, theo mặc định, mọi ô đều bị khóa. Nó có nghĩa là chúng không thể được chỉnh sửa. Nhưng việc bảo vệ các tế bào khác nhau cho phép bạn tự do làm việc trên các tế bào không được bảo vệ. Tại đây, bạn sẽ thấy các kỹ thuật excel khác nhau để khóa và mở khóa ô. Có nhiều Hàm Excel mặc định mà chúng ta có thể sử dụng để tạo công thức. Một lần nữa, việc khóa ô sẽ không ảnh hưởng gì nếu bạn không bảo vệ trang tính. Bài viết này sẽ cho bạn thấy 6 ví dụ lý tưởng để Khóa và mở khóa ô trong Excel Sử dụng VBA .
Tải xuống sách bài tập sau để tự thực hành.
6 Ví dụ Lý tưởng để Khóa và Mở khóa Ô trong Excel Bằng VBA
Excel VBA có thể thực hiện nhiều nhiệm vụ phức tạp rất dễ dàng. Bạn sẽ chỉ cần nhập mã hoặc viết mã. Trong bài viết này, chúng tôi sẽ áp dụng VBA vào Khóa và Mở khóa ô trong Excel . Để minh họa, chúng tôi sẽ sử dụng tập dữ liệu mẫu. Ví dụ:tập dữ liệu sau chứa Người bán hàng , Sản phẩm và Doanh số ròng trong phạm vi ô B4:D10 . Tại đây, chúng tôi sẽ khóa các phạm vi ô khác nhau.
1. Khóa tất cả các ô trong trang tính Excel bằng VBA
Trong ví dụ đầu tiên của chúng tôi, bạn sẽ thấy cách khóa tất cả các ô trong một trang tính excel. Do đó, hãy làm theo các bước bên dưới để thực hiện tác vụ.
CÁC BƯỚC:
- Trước hết, hãy chuyển đến Nhà phát triển ➤ Visual Basic .
- Do đó, VBA cửa sổ sẽ bật ra.
- Bây giờ, chọn Chèn ➤ Mô-đun .
- Do đó, Mô-đun hộp thoại sẽ xuất hiện.
- Tiếp theo, sao chép mã bên dưới và dán vào hộp Mô-đun.
Sub AllCells()
Sheets("All Cells").Cells.Locked = True
Sheets("All Cells").Protect
End Sub
- Lưu tệp và nhấn F5 để chạy mã.
- Do đó, khi bạn cố gắng chỉnh sửa hoặc sửa đổi bất kỳ ô nào, bạn sẽ nhận được hộp thoại cảnh báo như hình bên dưới.
2. Áp dụng Excel VBA để khóa các ô cụ thể
Bây giờ, chúng tôi sẽ hiển thị mã để khóa các ô cụ thể. Chúng tôi cũng sẽ chèn một hộp kiểm sẽ kiểm soát việc khóa và mở khóa. Vì vậy, hãy tìm hiểu các bước sau để thực hiện thao tác.
CÁC BƯỚC:
- Đầu tiên, đặt tên cho dải ô là B4:D10 dưới dạng Table1 .
- Tiếp theo, nhấp vào Nhà phát triển ➤ Chèn ➤ Hộp kiểm .
- Sau đó, đặt hộp kiểm ở nơi bạn muốn.
- Sau đó, nhấp chuột phải vào tên trang tính.
- Chọn Xem mã từ menu ngữ cảnh.
- Nhập mã bên dưới vào hộp thoại bật ra.
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
- Lưu tệp và chạy mã bằng cách nhấn phím F5.
- Do đó, việc chọn hộp sẽ mở khóa các ô và trả về hộp thoại như minh họa bên dưới.
- Tương tự, việc bỏ chọn hộp sẽ khóa các ô.
3. Chỉ khóa các ô có công thức bằng VBA
Tuy nhiên, chúng ta chỉ có thể khóa các ô có công thức. Do đó, hãy làm theo quy trình để khóa các ô bằng một công thức.
CÁC BƯỚC:
- Trước tiên, hãy tải Mô-đun bằng cách làm theo các bước trong ví dụ 1 .
- Nhập mã bên dưới vào hộp.
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
- Sau đó, nhấp vào RunSub để chạy mã.
- Ở đây, chúng ta có thể thấy rằng mã này sẽ khóa các ô mà chúng ta đã nhập công thức.
- Ví dụ: D7 có một công thức. Vì vậy, chúng tôi không thể chỉnh sửa ô này.
4. Khóa toàn bộ trang tính ngoại trừ một vài ô
Hơn nữa, chúng tôi có thể khóa toàn bộ trang tính ngoại trừ một vài ô mà chúng tôi sẽ chỉ định. Nhìn vào mã bên dưới, nơi B5:D10 là phạm vi chúng tôi muốn tiếp tục mở khóa. Ngoài phạm vi này, toàn bộ trang tính sẽ bị khóa sau khi chạy mã.
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. Khóa ô sau khi nhập dữ liệu trong Excel
Một lần nữa, cần phải khóa các ô sau khi nhập dữ liệu vào phạm vi mong muốn. Trong ví dụ này, B4:D10 là phạm vi mà chúng tôi sẽ nhập dữ liệu. Do đó, hãy làm theo các bước dưới đây để khóa ô sau khi nhập dữ liệu trong excel.
CÁC BƯỚC:
- Trước tiên, nhấp chuột phải vào tên trang tính và chọn Xem mã .
- Nhập mã sau vào hộp thoại.
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
- Chạy mã bằng cách nhấn RunSub hoặc phím F5.
- Sau đó, hãy nhập các giá trị dữ liệu của bạn vào dải ô.
- Nó sẽ tự động bị khóa.
- Nếu bạn cố gắng chỉnh sửa, bạn sẽ nhận được hộp thoại cảnh báo như hình bên dưới.
6. Mở khóa các ô trong Excel bằng VBA
Cho đến nay, chúng tôi đã giải thích cách khóa các ô. Bây giờ, bạn có thể sử dụng mã bên dưới để mở khóa các ô trong sổ làm việc excel.
Sub UnlockCells()
Sheets("Unlock Cells").Cells.Locked = False
Sheets("Unlock Cells").Unprotect
End Sub
Cách khóa và mở khóa ô trong Excel mà không cần VBA
Bạn cũng có thể khóa và mở khóa các ô mà không cần sử dụng VBA . Chúng tôi có thể sử dụng Định dạng ô hộp thoại để khóa / mở khóa ô. Bạn phải chọn hộp cho Đã khóa nếu bạn muốn khóa các ô. Tương tự, để mở khóa các ô, việc bỏ chọn ô sẽ được thực hiện. Một lần nữa, việc khóa các ô của bạn sẽ không ảnh hưởng gì nếu bạn không bảo vệ trang tính hoặc sổ làm việc của mình.
CÁC BƯỚC:
- Trước hết, hãy chọn phạm vi mong muốn của bạn.
- Sau đó, nhấn Ctrl và 1 các phím với nhau.
- Nó sẽ trả về Định dạng ô hộp thoại.
- Dưới Bảo vệ , chọn / bỏ chọn tab Đã khóa tùy theo nhu cầu của bạn.
- Nếu bạn cần bảo vệ trang tính, hãy chuyển đến tab Xem lại.
- Tại đó, chọn Bảo vệ Trang tính khỏi Bảo vệ đã thắng.
- Do đó, trang tính sẽ được bảo vệ.
Kết luận
Từ đó, bạn sẽ có thể Khóa và mở khóa ô trong Excel Sử dụng VBA theo các ví dụ được mô tả ở trên. Khóa các ô nhất định trong excel cho phép bạn tự do bảo mật dữ liệu của mình khỏi người khác. Nó giúp bạn ngăn chặn việc vô tình xóa hoặc ngăn người khác phá hỏng dữ liệu của bạn. Tiếp tục sử dụng chúng và cho chúng tôi biết nếu bạn có thêm cách để thực hiện nhiệm vụ. Làm theo ExcelDemy trang web cho nhiều bài viết như thế này. Đừng quên để lại nhận xét, đề xuất hoặc truy vấn nếu bạn có bất kỳ câu hỏi nào trong phần bình luận bên dưới.