Bài 7 - Thuộc tính CorlorIndex trong lập trình VBA Excel


{tocify} $title={Table of Contents}

1. Khái niệm thuộc tính ColorIndex

ColorIndex là một thuộc tính quan trọng, dùng để trả về hoặc đặt màu cho đường viền, font chữ, và màu nền của cell.

2. Bảng giá trị của ColorIndex

Bảng giá trị mã màu cho thuộc tính ColorIndex được dử dụng cho mục đích tham chiếu, hỗ trợ tốt cho các bạn khi lập trình VBA.


Ngoài các giá trị ở bảng mã màu ColorIndex trên, chúng ta còn có thêm 2 giá trị mặc định sau:

ColorIndex Value Explanation
-4142 / xlColorIndexNone / xlNone No fill
-4105 / xlColorIndexAutomatic / xlAutomatic Default color (white)
Ví dụ:
Set màu đường viền cho Cell
Range("A5").Borders.ColorIndex = 5

Set màu chữ trong Cell
Range("A5").Font.ColorIndex = 5

Set màu nền cho Cell
Range("A5").Interior.ColorIndex = 5

Nhận giá trị trả về của Cell
giatri = Range("A5").Interior.ColorIndex

3. Bảng giá trị mã màu RGB cho Excel

Đây là bảng màu thuộc tính của đối tượng Hex color code, thường được sử dụng để set màu cho Cell hoặc Shape.



Set màu đỏ đường viền cho Cell
Range("A5").Borders.Color = RGB (255 , 0, 0)

Set màu đỏ cho chữ trong Cell
Range("A5").Font.Color = RGB (255 , 0, 0)

Set màu đỏ nền cho Cell
Range("A5").Interior.Color = RGB (255 , 0, 0)

RGB Color là dạng kết hợp giữa 3 màu Red, Green, Blue ( R, G, B ), mỗi màu là một số nguyên 8 bit có giá trị từ 0 đến 255. Như vậy, bảng màu RGB có tổng số màu = 256 x 256 x 256 = 16,777,216
Hex color code là dãy chữ số có 6 ký tự trong hệ 16: RRGGBB. Trong đó hai ký tự đầu (RR) đại diện cho màu đỏ, hai ký tự giữa (GG) đại diện cho màu xanh lá, và hai ký tự cuối (BB) đại diện cho màu xanh dương.

Cách chuyển đổi Hex color code sang RGB

Hex color code: FF0000R = FF = 255
G = 00 = 0
B = 00 = 0Ta được RGB là RGB (255, 0, 0)

Cách chuyển đổi RGB sang Hex color code

RGB color: RGB (255, 215, 0)R = 255 = FF
G = 215 = D7
B = 0 = 00Ta được Hex color code là #FFD700

4. Excel VBA Color


Nếu các bạn không nhớ con số của các mã màu thì cách đơn giản nhất là dùng tên mã màu trong VBA. Tuy nhiên số lượng màu rất hạn chế.

Set màu chữ trong Cell
Range("A3").Font.Color = vbRed

Post a Comment

Previous Post Next Post

Comments