Hiển thị màu RGB trong một ô (Microsoft Excel)
Dennis muốn lấp đầy ba ô (A1: A3) bằng các giá trị RGB và một ô khác (C1) hiển thị màu dựa trên các giá trị đó. Anh ấy tự hỏi liệu có cách nào dễ dàng để làm điều này không.
Cách dễ nhất để làm điều này là sử dụng macro lấy các giá trị trong A1: A3 và sau đó sửa đổi màu của ô C1 dựa trên các giá trị đó.
Tốt nhất, macro nên kiểm tra để đảm bảo rằng các giá trị trong ô nguồn nằm trong khoảng từ 0 đến 255. Macro sau hoạt động tốt cho mục đích này:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1:A3")) Is Nothing Then lRed = Abs(Range("A1").Value) Mod 256 lGreen = Abs(Range("A2").Value) Mod 256 lBlue = Abs(Range("A3").Value) Mod 256 Range("C1").Interior.Color = _ RGB(lRed, lGreen, lBlue) End If End Sub
Lưu ý rằng macro này nên được thêm vào mã cho trang tính có các ô tồn tại. (Chỉ cần nhấp chuột phải vào tab trang tính và chọn Mã Chế độ xem, sau đó thêm macro vào đó.) Đây là một trình xử lý sự kiện được tự động chạy mỗi khi có thay đổi trong ô A1, A2 hoặc A3.
Giá trị trong các ô đó được đảm bảo nằm trong khoảng từ 0 đến 255 bằng cách lấy giá trị tuyệt đối của nội dung ô và sử dụng phần còn lại (modulo)
chia nó cho 256.
_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 (9090) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm 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: