Bỏ qua nội dung chính

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


mũi tên màu xanh bong bóng bên phải 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:

doc khóa ô theo màu 1

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

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và 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...

Mô tả


Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nê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!
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Bonjour, y a t il une astuce quand la feuille est protégée d utiliser le panel des couleurs dans l onglet accueil pour mettre un fond de couleur sur les cases non protégés merci
This comment was minimized by the moderator on the site
How do you run this in a loop, so that all cells in all sheets that are not the specific color will be protected?
This comment was minimized by the moderator on the site
Can this be applied to a sheet with merged cells and can it recognize a cell color that is based on conditional formatting? I want to lock cells that are color code 15 and those cells are color code 15 based on a conditional format. Thank you in advance.
This comment was minimized by the moderator on the site
Bonjour,
j'aurais voulu savoir si il était possible de faire la même chose mais avec la valeur de la cellule plutôt que la couleur?
Par exemple: Verrouiller toutes les cellules dont la valeur est "-" de la plage B2:E25.

Merci d'avance
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations