Breaking

    [Lập trình Excel] Bài 7 - Mã màu và cách xác định mã màu trong lập trình VBA Excel


    Excel ColorIndex

    Bảng giá trị mã màu ColorIndex (hình trên) cho mục đích tham chiếu, có thể đặt giá trị hoặc trả về giá trị mã màu của đối tượng hoặc Cell. Bảng được áp dụng cho các thuộc tính đường viền, màu chữ và màu nền của Cell.

    Ngoài ra ColorIndex còn có 2 giá trị mặc định sau:

    ColorIndex Value Explanation
    -4142 / xlColorIndexNone / xlNone No fill
    -4105 / xlColorIndexAutomatic / xlAutomatic Default color (white)

    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

    Excel RGB Color

    Đâ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

    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


    Đăng nhận xét

    0 Nhận xét