Làm thế nào để bảo vệ hoặc khóa các giá trị ô dựa trên màu nền?
Giả sử, tôi có một trang tính lớn và nhiều ô được tô bằng các màu nền khác nhau, bây giờ, tôi muốn khóa hoặc bảo vệ các ô dựa trên màu tô nhất định, chẳng hạn như khóa hoặc bảo vệ tất cả các ô bằng màu đỏ. Có phương pháp nào tốt để giải quyết công việc này trong Excel không?
Bảo vệ hoặc khóa các giá trị ô dựa trên màu nền với mã VBA
Bảo vệ hoặc khóa các giá trị ô dựa trên màu nền với mã VBA
Ví dụ: tôi muốn khóa và bảo vệ tất cả các ô màu đỏ, để ngăn người dùng khác sửa đổi các giá trị ô này, mã VBA sau có thể giải quyết công việc này cho bạn, vui lòng làm như sau:
1. Giữ ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.
Mã VBA: Bảo vệ hoặc khóa các giá trị ô dựa trên màu sắc:
Sub lockcellsbycolor()
'Updateby Extendoffice
Dim colorIndex As Integer
colorIndex = 3
Dim xRg As Range
Application.ScreenUpdating = False
For Each xRg In ActiveSheet.UsedRange.Cells
Dim color As Long
color = xRg.Interior.colorIndex
If (color = colorIndex) Then
xRg.Locked = True
Else
xRg.Locked = False
End If
Next xRg
Application.ScreenUpdating = True
MsgBox "All specified color cells have been locked!", vbInformation, "Kutools for Excel"
End Sub
Chú thích: Trong đoạn mã trên, số 3 trong màu Index = 3 script chỉ ra các ô màu đỏ mà tôi muốn khóa, bạn có thể thay đổi nó thành chỉ mục màu khác mà bạn muốn khóa.
3. Sau đó nhấn F5 để chạy mã này và chỉ các ô màu đỏ đã bị khóa, các ô khác được mở khóa trong phạm vi đã sử dụng của trang tính hoạt động, xem ảnh chụp màn hình:
4. Nếu bạn muốn bảo vệ chúng khỏi bị sửa đổi bởi những người dùng khác, bạn chỉ cần áp dụng Bảo vệ Sheet tính năng để bảo vệ trang tính này.
Mẹo: Để lấy số chỉ mục màu, bạn có thể áp dụng Hàm do Người dùng Xác định sau:
Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function
Công cụ năng suất văn phòng tốt nhất
Nâng cao kỹ năng Excel của bạn với Kutools for Excelvà trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel Cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
Office Tab Mang giao diện theo thẻ vào Office và giúp công việc của bạn dễ dàng hơn nhiều
- Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
- Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
- Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!




