Làm cách nào để thay đổi màu ô trong excel vba?

Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu đổi màu ô bằng VBA dựa trên giá trị trong Excel. Chúng ta có thể sử dụng tính năng định dạng có điều kiện để thay đổi màu ô. Nhưng với VBA, nó có thể được thực hiện rất nhanh chóng. Đôi khi, khi chúng tôi hiển thị bất kỳ kết quả hoặc hiệu suất nào trong báo cáo excel, chúng tôi cần thay đổi màu ô dựa trên giá trị. Vì vậy, hôm nay, chúng tôi sẽ trình bày 3 ví dụ VBA để cho thấy cách bạn có thể thay đổi màu ô dựa trên giá trị trong excel một cách dễ dàng


Mục lục ẩn

Tải sách thực hành

3 ví dụ để thay đổi màu ô dựa trên giá trị bằng VBA trong Excel

1. Áp dụng VBA để thay đổi màu ô trong Excel dựa trên giá trị đã điền

2. Sử dụng nút lệnh Excel để thay đổi màu ô dựa trên giá trị của ô khác

3. Tự động thay đổi màu ô dựa trên giá trị với Excel VBA

Những điều cần ghi nhớ

Phần kết luận

Những bài viết liên quan

Tải sách thực hành

Tải sách thực hành tại đây

VBA để thay đổi màu ô dựa trên giá trị. xlsm


3 ví dụ để thay đổi màu ô dựa trên giá trị bằng VBA trong Excel

Để giải thích những ví dụ này, chúng tôi sẽ sử dụng tập dữ liệu chứa thông tin về Số tiền bán hàng và Nhận xét về hiệu suất của chúng. Chúng tôi sẽ cố gắng thay đổi màu sắc của các ô của Cột D

Làm cách nào để thay đổi màu ô trong excel vba?


1. Áp dụng VBA để thay đổi màu ô trong Excel dựa trên giá trị đã điền

Trong ví dụ đầu tiên, chúng tôi sẽ thay đổi màu ô dựa trên giá trị được điền. Ở đây, mã VBA sẽ thay đổi màu ô dựa trên giá trị mà nó chứa. Ví dụ: nếu ô chứa Tốt, màu ô sẽ là Xanh lục

Hãy làm theo các bước để tìm hiểu hoàn chỉnh ví dụ này

CÁC BƯỚC

  • Trước hết bạn vào tab Developer chọn Visual Basic. Thao tác này sẽ mở cửa sổ Visual Basic

Làm cách nào để thay đổi màu ô trong excel vba?

  • Thứ hai, chọn Chèn và sau đó, chọn Mô-đun trong cửa sổ Visual Basic. Cửa sổ Mô-đun sẽ xuất hiện

Làm cách nào để thay đổi màu ô trong excel vba?

  • Thứ ba, nhập mã vào cửa sổ Mô-đun
Sub Change_Cell_Color()
Dim xCell As Range
Dim CommentValue As String
Dim CommentRange As Range
Set CommentRange = Range("D5:D9")
For Each xCell In CommentRange
CommentValue = xCell.Value
Select Case CommentValue
    Case "Good"
    xCell.Interior.Color = RGB(0, 255, 0)
    Case "Average"
    xCell.Interior.Color = RGB(255, 255, 0)
    Case "Poor"
    xCell.Interior.Color = RGB(255, 0, 0)
End Select
Next xCell
End Sub

Làm cách nào để thay đổi màu ô trong excel vba?

Ở đây, mã VBA này sẽ thay đổi màu ô. Nếu ô chứa Tốt, Trung bình và Kém thì màu ô sẽ lần lượt là xanh lục, vàng và đỏ. Bạn cũng có thể sử dụng các chỉ số màu RGB khác nhau

  • Bây giờ, hãy nhấn Ctrl + S để lưu mã rồi đóng cửa sổ Visual Basic
  • Sau đó, chọn Macro từ tab Nhà phát triển trong ruy-băng. Thao tác này sẽ mở cửa sổ Macro

Làm cách nào để thay đổi màu ô trong excel vba?

  • Tiếp theo, chọn mã mong muốn và Chạy nó từ cửa sổ Macro

Làm cách nào để thay đổi màu ô trong excel vba?

  • Cuối cùng, bạn sẽ thấy kết quả như hình bên dưới

Làm cách nào để thay đổi màu ô trong excel vba?

Đọc thêm. Công thức Excel dựa trên màu ô (5 ví dụ)


2. Sử dụng nút lệnh Excel để thay đổi màu ô dựa trên giá trị của ô khác

Trong ví dụ thứ hai, chúng ta sẽ thay đổi màu ô dựa trên giá trị của một ô khác. Ở đây, chúng ta sẽ sử dụng một nút lệnh. Trong ví dụ này, chúng tôi sẽ sử dụng cùng một bộ dữ liệu

Hãy chú ý đến các bước dưới đây để biết thêm

CÁC BƯỚC

  • Trước tiên, hãy chuyển đến tab Nhà phát triển
  • Chọn Chèn và một trình đơn thả xuống sẽ xuất hiện
  • Chọn Nút lệnh từ Điều khiển ActiveX

Làm cách nào để thay đổi màu ô trong excel vba?

  • Thứ hai, vẽ nút lệnh như hình bên dưới

Làm cách nào để thay đổi màu ô trong excel vba?

  • Sau đó, nhấp đúp vào nút lệnh và cửa sổ Mã sẽ xuất hiện bên trong cửa sổ Visual Basic

Làm cách nào để thay đổi màu ô trong excel vba?

  • Bây giờ, hãy nhập mã vào cửa sổ Mã
Private Sub CommandButton1_Click()
Dim x As Long, xCell1 As Range, xCell2 As Range
For x = 5 To 9
Set xCell1 = Range("C" & x)
Set xCell2 = Range("D" & x)
If xCell1.Value >= 2500 And xCell1.Value < 2650 Then _
xCell2.Interior.Color = vbRed
If xCell1.Value >= 2650 And xCell1.Value < 3000 Then _
xCell2.Interior.Color = vbYellow
If xCell1.Value >= 3000 And xCell1.Value < 3300 Then _
xCell2.Interior.Color = vbGreen
Next x
End Sub

Làm cách nào để thay đổi màu ô trong excel vba?

Ở đây, mã này sẽ thay đổi màu của Ô D5 thành D9 dựa trên các giá trị của Ô C5 thành C9 tương ứng. Nếu giá trị ô lớn hơn 2500 và nhỏ hơn 2650 thì màu ô sẽ có màu đỏ. Nếu giá trị ô lớn hơn 2650 và nhỏ hơn 3000 thì ô đó sẽ có màu vàng. Và, Nếu giá trị ô lớn hơn 3000 và nhỏ hơn 3300, thì ô đó sẽ có màu xanh lục

  • Sau đó, nhấn Ctrl + S để lưu mã và đóng cửa sổ Visual Basic
  • Tiếp theo, bỏ chọn Chế độ thiết kế từ tab Nhà phát triển

Làm cách nào để thay đổi màu ô trong excel vba?

  • Cuối cùng, bấm vào nút lệnh để thay đổi màu ô như hình bên dưới

Làm cách nào để thay đổi màu ô trong excel vba?

Đọc thêm. Excel VBA để đánh dấu ô dựa trên giá trị (5 ví dụ)


bài đọc tương tự

  • Cách đánh dấu ô dựa trên văn bản trong Excel [2 phương pháp]
  • Cách tô màu cho ô Excel bằng công thức (5 cách dễ dàng)
  • Màu ô Excel. Thêm, Chỉnh sửa, Sử dụng & Xóa
  • Cách đánh dấu một hàng trong Excel (5 phương pháp nhanh)
  • Cách đánh dấu từ trên xuống dưới trong Excel (5 phương pháp)

3. Tự động thay đổi màu ô dựa trên giá trị với Excel VBA

Trong ví dụ trước, chúng ta sẽ tự động thay đổi màu ô dựa trên giá trị ô. Đối với ví dụ này, chúng tôi sẽ sử dụng tập dữ liệu chứa Nhóm 1 và Nhóm 2 trong Cột C & D tương ứng. Tại đây, chúng ta sẽ gõ tên trong Nhóm 1 và sau đó, trong Nhóm 2. Nếu cả hai tên không trùng nhau thì sẽ đổi màu ô của Nhóm 2. Nếu trùng tên thì màu ô sẽ không thay đổi

Làm cách nào để thay đổi màu ô trong excel vba?

Hãy quan sát các bước dưới đây để tìm hiểu thêm

CÁC BƯỚC

  • Đầu tiên các bạn vào tab Developer chọn Visual Basic. Nó sẽ mở cửa sổ Visual Basic

Làm cách nào để thay đổi màu ô trong excel vba?

  • Sau đó, chọn trang tính mà bạn muốn áp dụng mã VBA và nhấp chuột phải vào trang tính đó. Một trình đơn thả xuống sẽ xuất hiện
  • Chọn Xem mã từ trình đơn thả xuống

Làm cách nào để thay đổi màu ô trong excel vba?

  • Tiếp theo, nhập mã vào cửa sổ Mã
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xRange As Range
Dim R As Long
If Not Intersect(Range("B:C"), Target) Is Nothing Then
    Application.EnableEvents = False
    Application.ScreenUpdating = False
For Each xRange In Intersect(Range("B:C"), Target)
    R = xRange.Row
    If Range("B" & R) = Range("C" & R) Then
       Range("C" & R).Interior.ColorIndex = xlColorIndexNone
    Else
       Range("C" & R).Interior.ColorIndex = 3
    End If
Next xRange
Application.ScreenUpdating = True
Application.EnableEvents = True
End If
End Sub

Làm cách nào để thay đổi màu ô trong excel vba?

Ở đây, đoạn mã này sẽ so sánh các giá trị của Cột B & C. Nếu giá trị của Cột C không khớp với giá trị được tôn trọng của Cột B, thì ô của Cột C sẽ có màu đỏ. ColorIndex 3 đại diện cho màu đỏ. Bạn có thể tô màu bằng cách thay đổi giá trị của chỉ số màu

  • Bây giờ, nhấn Ctrl + S để lưu mã
  • Sau đó, đóng cửa sổ Visual Basic
  • Tại đây, gõ tên vào Ô B2 và Ô C2 sẽ tự động chuyển sang màu đỏ. Chúng tôi đã gõ Mike trong Cell B2

Làm cách nào để thay đổi màu ô trong excel vba?

  • Một lần nữa, viết Smith trong Ô C2 và nhấn Enter. Vì cả hai tên đều khác nhau, Ô C2 vẫn có màu đỏ

Làm cách nào để thay đổi màu ô trong excel vba?

  • Nếu bạn nhập cùng tên vào cả hai ô như Ô B3 và Ô C3, màu sẽ không thay đổi

Làm cách nào để thay đổi màu ô trong excel vba?

  • Cuối cùng, bạn có thể nhập tất cả các ô và xem kết quả như bên dưới. Ở đây, Ô B3, C3 và Ô B6, C6 không thay đổi màu sắc vì chúng chứa cùng một giá trị

Làm cách nào để thay đổi màu ô trong excel vba?

Đọc thêm. Cách thay đổi màu ô dựa trên giá trị trong Excel (5 cách)


Những điều cần ghi nhớ

Sau khi chạy mã VBA, nếu bạn thay đổi bất kỳ giá trị nào, kết quả sẽ không được tự động cập nhật. Bạn cần chạy lại mã để xem kết quả cập nhật


Phần kết luận

Chúng tôi đã trình bày 2 ví dụ đơn giản về Thay đổi màu ô dựa trên giá trị ô bằng VBA trong Excel. Chúng tôi đã sử dụng các ví dụ khác nhau và cũng đã thảo luận về phương pháp thay đổi màu ô bằng nút lệnh. Tôi hy vọng những phương pháp này sẽ giúp bạn thực hiện các nhiệm vụ của mình một cách dễ dàng. Hơn nữa, chúng tôi cũng đã thêm cuốn sách thực hành ở đầu bài viết. Bạn có thể tải về để tìm hiểu thêm. Cuối cùng, nếu bạn có bất kỳ đề xuất hoặc thắc mắc nào, vui lòng hỏi trong phần bình luận bên dưới

Làm cách nào để đặt màu ô bằng với màu ô khác trong Excel VBA?

Định dạng có điều kiện. .
Đánh dấu ô A1
Chuyển đến Định dạng có điều kiện -> Quy tắc mới
Chuyển đến sử dụng một công thức để xác định những ô cần định dạng
Chèn công thức của bạn (e. g. "=F1="") (điều này sẽ kiểm tra f F1 không có giá trị)
Chọn định dạng mong muốn của bạn (e. g. màu vv. ) phía dưới
Xác nhận lựa chọn của bạn với "OK"

Các mã màu trong Excel VBA là gì?

Màu đen. RGB(0,0,0)
Trắng. RGB(255,255,255)
Màu đỏ. RGB(255,0,0)
Màu xanh lá. RGB(0,255,0)
Màu xanh da trời. RGB(0,0,255)
Màu vàng. RGB(255,255,0)
đỏ tươi. RGB(255,0,255)
lục lam. RGB(0,255,255)