Thay đổi màu Sheet theo giá trị ô trong Excel

Home / Thủ thuật / Thay đổi màu Sheet theo giá trị ô trong Excel

Ý tưởng này mình nãy ra khi có một lần, mình cần thay đổi màu Sheet theo giá trị ô trong Excel. Có nghĩa mình cần thay đổi màu của Sheet theo giá trị ô. Sau 1 thời gian mò mẫm, mình đã tìm ra 1 ý tưởng (mặc dù hơi lầy) để thay đổi mày của 1 Sheet theo giá trị ô trong Excel.

Ý tưởng mà mình tìm thấy ở đây có 2 bước
1. Sử dụng VBA viết 1 hàm tên là TabColor để thay đổi màu Sheet theo màu của 1 ô
2. Sử dụng Conditional Formatting để định dạng ô thay đổi khi giá trị trong ô thay đổi

1. Hàm thay đổi màu Sheet theo màu của 1 ô

1.1. Tạo 1 hàm mới bằng VBA

Để tạo 1 hàm mới bằng VBA, chúng ta có thể làm theo các bước sau

Mở cửa số VBA bằng cách chọn [Ribbon] Developer -> Visual Basic (hoặc nhấn tổ hợp phím Alt + F11).

thay đổi màu Sheet theo giá trị ô

Trong cửa sổ Visual Basic, chọn [Menu] Insert -> Module

thay đổi màu Sheet theo giá trị ô

Trong khung Module1, chúng ta chèn đoạn mã VBA này vào

thay đổi màu Sheet theo giá trị ô


Function TabColor(CellColor As Range, Optional SheetName As String, _
Optional WorkbookName As String)Application.Volatile 

If SheetName = “” Then

SheetName = Application.Caller.Parent.Name

End If

 

If WorkbookName = “” Then

WorkbookName = Application.Caller.Parent.Parent.Name

End If

 

Workbooks(WorkbookName).Sheets(SheetName).Tab.Color = CellColor.Interior.Color

 

TabColor = “”

 

End Function

 

Sau đó, chúng ta Lưu Module VBA này lại

1.2. Sử dụng hàm TabColor

Hàm TabColor mà chúng ta vừa viết có cú pháp như sau:

=TabColor(CellColor,[SheetName],[WorkbookName])

 

Trong đó:

CellColor: Ô có màu mà chúng ta muốn tham chiếu làm màu của Sheet

SheetName: Tên Sheet mà chúng ta muốn đổi màu. Nếu để trống thì sẽ đổi màu Sheet chứa ô CellColor

– WorkbookName: Tên Workbook mà chúng ta muốn đổi màu. Nếu để trống thì sẽ đổi màu Workbook chứa ô CellColor.

Lúc sử dụng, chúng ta chỉ cần để hàm TabColor vào ô A1 hoặc bất cứ ô nào.

2. Sử dụng Conditional Formatting để định dạng ô

Sau khi đã hoàn tất, chúng ta sử dụng Conditional Formatting để định dạng ô CellColor. Với Conditional Formmating, chúng ta có thể định dạng màu của ô theo các giá trị của ô.

Như vậy, với sự kết hợp giữa VBA và Conditional Formmating, chúng ta đã có thể thay đổi màu của Sheet theo giá trị ô trong Excel rồi.

Hãy theo dõi Coffee Excel để cùng Coffee Excel học Excel tài chính nhé cả nhà ơi.

Nguồn: Excel Off the Grid

Dịch và Hiệu đính: Coffee Excel

Làm việc cực nhanh với 9 phím tắt Windows
Các lỗi trong Excel (Phần 1)

Bài viết liên quan

Professionals in Finance, Accounting, Auditing. A financial, accounting, auditing Excel lovers.