Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

Trong bài viết này, chúng tôi sẽ học cách thay đổi màu tế bào với 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 tế bào. Nhưng với VBA, nó có thể được thực hiện rất nhanh. Đô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 tế bào 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 để hiển thị cách bạn có thể thay đổi màu tế bào dựa trên giá trị trong Excel một cách dễ dàng.change cell color with VBA based on the value in Excel. We can use the conditional formatting feature to change cell colors. But with VBA, it can be done very quickly. Sometimes, when we show any result or performance in an excel report, we need to change cell color based on value. So, today, we will demonstrate 3 VBA examples to show how you can change cell color based on the value in excel easily.


Tải xuống Sách thực hành

Tải xuống cuốn sách thực hành tại đây.


3 ví dụ để thay đổi màu tế bào dựa trên giá trị với VBA trong Excel

Để giải thích các ví dụ này, chúng tôi sẽ sử dụng một bộ 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 họ. Chúng tôi sẽ cố gắng thay đổi màu sắc của các ô của cột D.Sales Amount and the Comment on their performance. We will try to change the colors of the cells of Column D.

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?


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

Trong ví dụ đầu tiên, chúng tôi sẽ thay đổi màu ô dựa trên giá trị đầy. Ở đây, vbacode 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 tế bào sẽ có màu xanh lá cây.VBAcode will change the cell color based on the value it contains. For example, if the cell contains Good, the cell color will be Green.

Hãy để theo các bước để tìm hiểu hoàn toàn ví dụ này.

STEPS:

  • Trước hết, đi đến tab Nhà phát triển và chọn Visual Basic. Điều này sẽ mở cửa sổ Visual Basic & NBSP;Developer tab and select Visual Basic. This will open the Visual Basic window.

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

  • 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.Insert and then, select Module in the Visual Basic window. The Module window will appear.

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

  • Thứ ba, nhập mã vào cửa sổ mô -đun:Module window:
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

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

Ở đây, mã VBA này sẽ thay đổi màu tế bào. Nếu tế bào chứa tốt, trung bình và kém, màu tế bào sẽ có màu xanh lá cây, vàng và đỏ tương ứng. Bạn cũng có thể sử dụng các chỉ mục màu RGB khác nhau.VBA code will change the cell color. If the cell contains Good, Average, and Poor, the cell color will be green, yellow, and red respectively. You can also use different RGB color indexes.

  • Bây giờ, nhấn Ctrl + s để lưu mã và sau đó, đóng cửa sổ Visual Basic & NBSP;Ctrl + S to save the code and then, close the Visual Basic window.
  • Sau đó, chọn macro từ tab Nhà phát triển trong Ribbon. Nó sẽ mở cửa sổ Macro & NBSP;Macros from the Developer tab in the ribbon. It will open the Macro window.

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

  • Tiếp theo, chọn mã mong muốn và chạy nó từ cửa sổ Macro & NBSP;Run it from the Macro window.

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

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

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

Đọc thêm: Công thức Excel dựa trên màu ô (5 ví dụ) Excel Formula Based on Cell Color (5 Examples)


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

Trong ví dụ thứ hai, chúng tôi sẽ thay đổi màu ô dựa trên giá trị của một ô khác. Ở đây, chúng tôi 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.

STEPS:

  • Ở nơi đầu tiên, hãy đến Tab Developer & NBSP; Tab.Developer tab.
  • Chọn Chèn và menu thả xuống sẽ xảy ra.Insert and a drop-down menu will occur.
  • Chọn nút lệnh từ các điều khiển ActiveX.Command Button from the ActiveX Controls.

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

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

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

  • 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 & NBSP;Code window will appear inside the Visual Basic window.

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

  • Bây giờ, nhập mã vào cửa sổ mã:Code window:
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

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

Ở đây, mã này sẽ thay đổi màu sắc 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ị tế bào lớn hơn 2500 và dưới 2650, thì màu tế bào sẽ có màu đỏ. Nếu giá trị tế bào lớn hơn 2650 và dưới 3000, thì nó sẽ có màu vàng. Và, nếu giá trị tế bào lớn hơn 3000 và nhỏ hơn 3300, thì nó sẽ có màu xanh lá cây.Cell D5 to D9 based on the values of Cell C5 to C9 respectively. If the cell value is greater than 2500 and less than 2650, then, the cell color will be red. If the cell value is greater than 2650 and less than 3000, then, it will be yellow. And, If the cell value is greater than 3000 and less than 3300, then, it will be green.

  • Sau đó, nhấn Ctrl + s để lưu mã và đóng cửa sổ Visual Basic & NBSP;Ctrl + S to save the code and close the Visual Basic window.
  • Tiếp theo, chế độ thiết kế bỏ chọn từ nhà phát triển & nbsp; tab.Design Mode from the Developer tab.

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

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

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

Đọc thêm: Excel VBA để làm nổi bật ô dựa trên giá trị (5 ví dụ) Excel VBA to Highlight Cell Based on Value (5 Examples)


Bài đọc tương tự:

  • Cách làm nổi bật các ô dựa trên văn bản trong Excel [2 Phương pháp]
  • Cách điền màu trong ô Excel bằng công thức (5 cách dễ dàng)
  • Excel Cell Color: Thêm, chỉnh sửa, sử dụng và xóa
  • Cách làm nổi bật một hàng trong Excel (5 Phương pháp nhanh)
  • Cách làm nổi bật từ trên xuống dưới trong Excel (5 phương pháp)

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

Trong ví dụ cuối cùng, chúng tôi sẽ thay đổi màu ô động dựa trên giá trị ô. Đối với ví dụ này, chúng tôi sẽ sử dụng một bộ dữ liệu có chứa nhóm 1 và nhóm 2 trong các cột C & D tương ứng. Ở đây, chúng tôi sẽ nhập một tên trong nhóm 1 và sau đó, trong nhóm 2. Nếu cả hai tên không khớp thì nó sẽ thay đổi màu ô của nhóm 2. Nếu tên khớp, thì màu ô sẽ không thay đổi.Group 1 and Group 2 in Columns C & D respectively. Here, we will type a name in Group 1 and then, in Group 2. If both names do not match then, it will change the cell color of Group 2. If the names match, then, the cell color will not change.

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

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

STEPS:

  • Đầu tiên, đi đến tab Nhà phát triển và chọn Visual Basic. Nó sẽ mở cửa sổ Visual Basic & NBSP;Developer tab and select Visual Basic. It will open the Visual Basic window.

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

  • Sau đó, chọn trang tính nơi bạn muốn áp dụng mã VBA và nhấp chuột phải vào nó. Một menu thả xuống sẽ xuất hiện.VBA code and right-click on it. A drop-down menu will appear.
  • Chọn Xem mã từ menu thả xuống.View Code from the drop-down menu.

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

  • Tiếp theo, nhập mã vào cửa sổ mã:Code window:
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

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

Ở đây, mã này sẽ so sánh các giá trị của các cột B & C. Nếu giá trị của cột C không khớp với giá trị đáng kính 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.Columns B & C. If the value of Column C does not match with the respected value of Column B, then, the cell of Column C will be red. ColorIndex 3 represents red. You can color by changing the value of the color index.

  • Bây giờ, nhấn Ctrl + s để lưu mã.Ctrl + S to save the code.
  • Sau đó, đóng cửa sổ Visual Basic & NBSP;.Visual Basic window.
  • Ở đây, nhập tên trong ô B2 và ô C2 sẽ tự động thay đổi màu thành màu đỏ. Chúng tôi đã gõ Mike vào tế bào B2.Cell B2 and Cell C2 will automatically change the color to red. We have typed Mike in Cell B2.

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

  • Một lần nữa, viết Smith trong Cell C2 và nhấn Enter. Vì cả hai tên đều khác nhau, Cell C2 vẫn màu đỏ.Smith in Cell C2 and press Enter. As both names are different, Cell C2 remains red.

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

  • Nếu bạn nhập cùng tên trong cả hai ô như ô B3 và ô C3, màu sẽ không thay đổi.Cell B3 and Cell C3, the color will not change.

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

  • Cuối cùng, bạn có thể nhập tất cả các ô và xem kết quả như dưới đây. Ở đây, ô B3, C3 và Cell B6, C6 không thay đổi màu vì chúng chứa cùng một giá trị.Cell B3, C3, and Cell B6, C6 did not change color because they contain the same value.

Hướng dẫn how do i change cell color in excel based on text input vba? - Làm cách nào để thay đổi màu ô trong excel dựa trên vba nhập văn bản?

Đọc thêm: Cách thay đổi màu ô dựa trên giá trị trong Excel (5 cách) How to Change Cell Color Based on a Value in Excel (5 Ways)


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 cập nhật.VBA codes, if you change any values, the result will not be automatically updated. You need to run the code again to see the updated result.


Sự kết luận

Chúng tôi đã chứng minh 2 ví dụ dễ dàng về màu tế bào thay đổi dựa trên giá trị tế bào với 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 vào đầu bài viết. Bạn có thể tải xuống để tìm hiểu thêm. Cuối cùng, nếu bạn có bất kỳ đề xuất hoặc truy vấn nào, vui lòng hỏi trong phần bình luận bên dưới.2 easy examples of Change Cell Color Based on Cell Value with VBA in Excel. We have used different examples and also discussed the method to change cell color with the command button. I hope these methods will help you to perform your tasks easily. Furthermore, we have also added the practice book at the beginning of the article. You can download it to learn more. Last of all, if you have any suggestions or queries, feel free to ask in the comment section below.


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

  • Cách so sánh hai tờ Excel và làm nổi bật sự khác biệt (7 cách)
  • Làm nổi bật các ô chứa văn bản từ một danh sách trong Excel (7 cách dễ dàng)
  • Cách làm nổi bật ô bằng cách sử dụng câu lệnh IF trong Excel (7 cách)
  • Đánh dấu mỗi 5 hàng trong Excel (4 phương pháp)
  • Cách điền vào ô bằng màu dựa trên tỷ lệ phần trăm trong Excel (6 phương pháp)

Làm cách nào để thay đổi màu của một ô trong Excel dựa trên giá trị trong VBA?

Thay đổi màu bên trong ô dựa trên giá trị với ô ...
Nhấn vào mục phát triển trong dải băng ..
Nhấn Visual Basic hoặc Alt+F11 để mở trình chỉnh sửa VBA nhà phát triển của bạn ..
Tiếp theo làm nổi bật bảng tính mà bạn muốn chạy mã của mình. ....
Đi trước và dán mã này. ....
Cụ thể chúng tôi sử dụng ô phương thức VBA Excel ..

Làm cách nào để thay đổi màu ô trong excel dựa trên đầu vào văn bản?

Áp dụng định dạng có điều kiện dựa trên văn bản trong một ô..
Chọn các ô bạn muốn áp dụng định dạng có điều kiện. Nhấp vào ô đầu tiên trong phạm vi, sau đó kéo đến ô cuối cùng ..
Nhấp vào Trang chủ> Định dạng có điều kiện> ĐIỀU KHIỂN CELL CELLED> Văn bản có chứa. ....
Chọn định dạng màu cho văn bản và bấm OK ..

Làm thế nào để bạn tạo một ô chuyển màu khi dữ liệu được nhập?

Thay đổi công thức để sử dụng H nếu bạn muốn ...
Chọn ô A2 ..
Nhấp vào định dạng có điều kiện trên ruy băng nhà ..
Nhấp vào quy tắc mới ..
Nhấp vào Sử dụng một công thức để xác định các ô nào để định dạng ..
Nhấp vào hộp công thức và nhập công thức.= $ F2
Nhấp vào nút Định dạng và chọn một màu đỏ ..
Đóng tất cả các hộp thoại ..

Làm cách nào để thay đổi màu của một ô trong excel bằng macro?

Instructions:..
Mở sổ làm việc excel ..
Nhấn Alt+F11 để mở Trình chỉnh sửa VBA ..
Chèn một mô -đun mới từ menu chèn ..
Sao chép mã trên và dán vào cửa sổ mã ..
Lưu tệp dưới dạng sổ làm việc được bật macro ..
Nhấn F5 để thực hiện thủ tục ..
Bạn có thể thấy các màu bên trong đang thay đổi theo mã của chúng tôi ..