Xác định giá trị RGB của một màu (Microsoft Excel)
Neil sử dụng màu sắc rất nhiều trong các trang 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 số (và như được giải thích trong các vấn đề ExcelTips khác). Neil muốn làm ngược lại — xác định giá trị RGB. Anh ấy tự hỏi nếu có cách nào để quay lại (thông qua hàm hoặc macro)
giá trị RGB của màu được sử dụng để tô một ô.
Excel không bao gồm một hàm để thực hiện việc này, nhưng bạn có thể tạo một hàm do người dùng xác định của riêng mình. 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. Ví dụ: nếu bạn muốn trả về mã hex sáu ký tự truyền thống cho màu RGB, bạn sẽ sử dụng macro rất đơn giản sau:
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 nội thất cho 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 về Excel. Để sử dụng hàm, bạn chỉ cần gọi nó, trong trang tính của bạn, với một ô được tham chiếu theo cách sau:
=getRGB1(B4)
Tuy nhiên, bạn có thể không muốn 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 mỗi 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 theo cách tương tự như macro getRGB1, phiên bản này trả về một chuỗi 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 xanh lá cây sẽ được trả về và 3 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 hoàn toàn) sẽ trả về giá trị thập phân đầy đủ của màu nội thất.
Nếu bạn không muốn 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, bạn có thể xem xét một tiện ích của bên thứ ba. Một cái có vẻ thú vị là Instant Eyedropper, miễn phí. Bạn có thể tìm thêm thông tin về nó tại đây:
http://instant-eyedropper.com
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (10179) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.
Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: