Cách tìm chỉ mục màu trong Excel

Neil sử dụng màu sắc rất nhiều trong bảng tính của mình. Anh ấy biết rằng anh ấy có thể tạo màu dựa trên giá trị RGB dạng số [như đã giải thích trong các vấn đề về Mẹo Excel khác]. Neil muốn làm ngược lại—xác định giá trị RGB. Anh ấy tự hỏi liệu có cách nào để trả về [thông qua hàm hoặc macro] giá trị RGB của màu được sử dụng để tô một ô không. [Neil muốn màu thực tế được áp dụng cho ô, không phải bất kỳ màu "ghi đè" nào, chẳng hạn như màu do định dạng có điều kiện áp đặt. ]

Excel không có hàm để thực hiện việc này, nhưng nếu bạn chỉ cần kiểm tra các giá trị RGB cho một ô, cách dễ nhất là làm theo các bước sau

  1. Chọn ô được định dạng với màu bạn muốn kiểm tra
  2. Hiển thị tab Trang chủ của dải băng
  3. Nhấp vào mũi tên xuống ở bên phải của công cụ Tô màu, trong nhóm Phông chữ. Excel hiển thị một bảng màu nhỏ và một số tùy chọn khác
  4. Chọn nhiều màu sắc hơn. Excel hiển thị hộp thoại Màu
  5. Đảm bảo rằng tab Tùy chỉnh được hiển thị. [Xem Hình 1. ]
  6. Hình 1. Tab Tùy chỉnh của hộp thoại Màu

  7. Ở dưới cùng của hộp thoại, bạn có thể thấy các giá trị riêng lẻ cho các thành phần màu đỏ, lục và lam của màu trong ô
  8. Nhấn OK khi hoàn tất

Nếu bạn có nhu cầu lấy các giá trị thường xuyên hơn, thì cách tốt nhất là tạo hàm do người dùng xác định của riêng bạn. Chức năng bạn sử dụng phụ thuộc vào những gì bạn muốn thực sự đã trở lại trang tính của bạn. Chẳng hạn, nếu bạn muốn trả về mã hex sáu ký tự truyền thống cho các màu RGB, bạn sẽ sử dụng macro rất đơn giản sau đây

Function getRGB1[rcell] As String
    Dim sColor As String

    sColor = Right["000000" & Hex[rcell.Interior.Color], 6]
    getRGB1 = Right[sColor, 2] & Mid[sColor, 3, 2] & Left[sColor, 2]
End Function

Macro này xem xét màu bên trong của bất kỳ ô nào bạn tham chiếu, đặt các giá trị hex cho màu theo đúng thứ tự và trả về chuỗi cho Excel. Để sử dụng hàm, bạn chỉ cần gọi hàm đó, trong trang tính của mình, với một ô được tham chiếu theo cách này

=getRGB1[B4]

Tuy nhiên, bạn có thể không muốn các mã hex truyền thống cho các màu RGB. Nếu bạn muốn nhận các giá trị thập phân cho từng màu, thì macro sau sẽ trả về giá trị đó

Function getRGB2[rcell] As String
    Dim C As Long
    Dim R As Long
    Dim G As Long
    Dim B As Long

    C = rcell.Interior.Color
    R = C Mod 256
    G = C \ 256 Mod 256
    B = C \ 65536 Mod 256
    getRGB2 = "R=" & R & ", G=" & G & ", B=" & B
End Function

Được gọi giống như macro getRGB1, phiên bản này trả về một chuỗi chẳng hạn như "R=255, G=204, B=0". Bạn cũng có thể sửa đổi macro hơn nữa để nó trả về một giá trị duy nhất, dựa trên tham số bạn đã đặt

Function getRGB3[rcell As Range, Optional opt As Integer] As Long
    Dim C As Long
    Dim R As Long
    Dim G As Long
    Dim B As Long

    C = rcell.Interior.Color
    R = C Mod 256
    G = C \ 256 Mod 256
    B = C \ 65536 Mod 256

    If opt = 1 Then
        getRGB3 = R
    ElseIf opt = 2 Then
        getRGB3 = G
    ElseIf opt = 3 Then
        getRGB3 = B
    Else
        getRGB3 = C
    End If
End Function

Để sử dụng macro, chỉ cần thêm tham số thứ hai vào hàm được sử dụng trong trang tính của bạn, chỉ định những gì bạn muốn

=getRGB3[B4,1]

Nếu tham số thứ hai là 1, thì hàm chỉ trả về giá trị màu đỏ. Nếu bạn chỉ định tham số thứ hai là 2, thì giá trị màu lục sẽ được trả về và 3 sẽ trả về giá trị màu xanh lam. Bất kỳ giá trị nào khác cho tham số thứ hai [hoặc nếu bạn bỏ qua nó hoàn toàn] sẽ trả về giá trị thập phân đầy đủ của màu bên trong

Nếu bạn không muốn đi theo con đường tạo macro hoặc nếu bạn muốn xác định màu sắc không chỉ trong trang tính Excel của mình, thì bạn có thể cân nhắc sử dụng tiện ích của bên thứ ba. Một thứ có vẻ thú vị là Instant Eyedropper, miễn phí. Bạn có thể tìm thêm thông tin về nó ở đây

Vanita hỏi liệu có cách nào để chọn các ô chứa một màu cụ thể không. Hoàn thành nhiệm vụ dễ dàng nếu bạn đang sử dụng Excel 2003. Chỉ cần làm theo các bước sau

  1. Nhấn Ctrl+F để hiển thị tab Tìm của hộp thoại Tìm và Thay thế. [Xem Hình 1. ]
  2. Hình 1. Tab Tìm của hộp thoại Tìm và Thay thế

  3. Đảm bảo không có gì trong hộp Find What
  4. Nhấp vào Định dạng. [Bạn có thể cần nhấp vào Tùy chọn để xem nút Định dạng. ] Excel hiển thị hộp thoại Find Format
  5. Đảm bảo tab Mẫu được hiển thị. [Xem Hình 2. ]
  6. Hình 2. Tab Mẫu của hộp thoại Tìm Định dạng

  7. Từ các màu có sẵn, chọn màu bạn muốn tìm
  8. Bấm OK để đóng hộp thoại Tìm định dạng
  9. Nhấp vào Tìm tất cả. Hộp thoại Tìm và Thay thế mở rộng để hiển thị địa chỉ của tất cả các ô được định dạng bằng màu bạn đã chỉ định trong bước 5. [Xem Hình 3. ]
  10. Hình 3. Hộp thoại Tìm và Thay thế được mở rộng

  11. Nhấp vào một trong các địa chỉ ô ở cuối hộp thoại. Excel chọn ô trong bảng tính thực tế
  12. Nhấn Ctrl + A. Tất cả các địa chỉ trong hộp thoại được chọn
  13. Nhấp vào Đóng. Tất cả các ô có màu mong muốn được chọn

Nếu bạn đang sử dụng Excel 97, Excel 2000 hoặc Excel 2002, cách duy nhất để chọn các ô có màu cụ thể là sử dụng macro. Xem xét macro hiển thị ở đây

Sub SelectColoredCells[]
    Dim rCell As Range
    Dim lColor As Long
    Dim rColored As Range

    'Select the color by name [8 possible]
    'vbBlack, vbBlue, vbGreen, vbCyan,
    'vbRed, vbMagenta, vbYellow, vbWhite
    lColor = vbBlue

    'If you prefer, you can use the RGB function
    'to specify a color
    'lColor = RGB[0, 0, 255]

    Set rColored = Nothing
    For Each rCell In Selection
        If rCell.Interior.Color = lColor Then
            If rColored Is Nothing Then
                Set rColored = rCell
            Else
                Set rColored = Union[rColored, rCell]
            End If
        End If
    Next
    If rColored Is Nothing Then
        MsgBox "No cells match the color"
    Else
        rColored.Select
        MsgBox "Selected cells match the color:" & _
            vbCrLf & rColored.Address
    End If
    Set rCell = Nothing
    Set rColored = Nothing
End Sub

Để sử dụng macro, hãy chọn một dải ô trước khi chạy macro. Sau đó, macro sẽ duyệt qua từng ô đã chọn và so sánh màu của ô đó với bất kỳ màu nào bạn chỉ định trong lColor. Nếu tìm thấy kết quả khớp thì ô đó sẽ được thêm vào tập hợp lựa chọn. Khi hoàn thành, macro chỉ chọn những ô phù hợp rồi thoát

Nếu bạn muốn tìm hiểu các giải pháp dựa trên macro khác, bạn có thể tham khảo bài viết sau tại Cơ sở tri thức Microsoft

Chỉ mục màu trong Excel là gì?

Ngoài ra, chúng tôi có một chức năng VBA gọi là “Chỉ mục màu”, được sử dụng để thay đổi màu của các ô hoặc phạm vi ô được cung cấp . Chức năng này có nhận dạng duy nhất cho các loại màu khác nhau. Trong VBA, chúng tôi có hai cách áp dụng màu sắc.

Công thức Excel có thể phát hiện màu ô không?

Không, bạn chỉ có thể chuyển sang màu bên trong của ô bằng cách sử dụng Macro . tôi e rằng. Nó thực sự dễ dàng để làm [ô. Nội địa.

Chủ Đề