Bỏ qua nội dung chính

Làm cách nào để thay đổi màu hộp văn bản dựa trên giá trị trong Excel?

Trong Excel, chúng ta có thể áp dụng chức năng Định dạng có Điều kiện để thay đổi màu nền dựa trên giá trị ô, nhưng trong bài viết này, tôi sẽ nói về cách thay đổi màu hộp văn bản dựa trên giá trị ô hoặc giá trị trong hộp văn bản.

Thay đổi màu hộp văn bản dựa trên giá trị ô bằng mã VBA

Thay đổi màu hộp văn bản dựa trên giá trị trong hộp văn bản với mã VBA


mũi tên màu xanh bong bóng bên phải Thay đổi màu hộp văn bản dựa trên giá trị ô bằng mã VBA

Giả sử, nếu giá trị ô trong A1 lớn hơn giá trị ô trong B1, tôi muốn hộp văn bản được tô bằng màu đỏ, ngược lại, hộp văn bản phải được tô bằng màu vàng. Vui lòng đạt được công việc này với các bước sau:

1. Chèn một hộp văn bản bằng cách nhấp vào Nhà phát triển > Chèn > Hộp văn bản (Điều khiển ActiveX), và sau đó vẽ một hộp văn bản, xem ảnh chụp màn hình:

màu hộp văn bản doc dựa trên giá trị 1

2. Sau đó, nhấp chuột phải vào hộp văn bản và chọn Mã Chế độ xem từ menu ngữ cảnh để mở Microsoft Visual Basic cho các ứng dụng và sau đó thay thế mã gốc bằng mã VBA sau vào mô-đun trống:

Mã VBA: Thay đổi màu hộp văn bản dựa trên giá trị ô:

Private Sub TextBox1_Change()
    If ActiveSheet.Range("A1").Value > ActiveSheet.Range("B1").Value Then
        Me.TextBox1.BackColor = vbRed
    Else
        Me.TextBox1.BackColor = vbYellow
    End If
End Sub

màu hộp văn bản doc dựa trên giá trị 2

Chú thích: Trong đoạn mã trên, Hộp văn bản1 là tên hộp văn bản mà bạn đã chèn, A1B1 là hai ô bạn muốn thay đổi màu hộp văn bản dựa trên, vui lòng thay đổi chúng theo nhu cầu của bạn.

3. Sau đó, lưu và đóng cửa sổ mã, và thoát khỏi Chế độ thiết kếBây giờ, nếu ô A1 lớn hơn B1, khi bạn nhập văn bản vào hộp văn bản, nó sẽ được tô màu đỏ, và nếu A1 nhỏ hơn B1, khi nhập giá trị vào hộp văn bản, nó sẽ được tô màu vàng, xem ảnh chụp màn hình:

màu hộp văn bản doc dựa trên giá trị 3


mũi tên màu xanh bong bóng bên phải Thay đổi màu hộp văn bản dựa trên giá trị trong hộp văn bản với mã VBA

Nếu bạn muốn thay đổi màu hộp văn bản dựa trên giá trị trong hộp văn bản, ví dụ: khi giá trị trong hộp văn bản từ 1 đến 10, màu tô của hộp văn bản là màu đỏ, màu hộp văn bản là màu xanh lục nếu giá trị từ 11 đến 20, nếu là các giá trị khác, màu hộp văn bản là màu vàng. Để giải quyết công việc này, vui lòng áp dụng mã VBA bên dưới.

1. Sau khi chèn một hộp văn bản, hãy nhấp chuột phải vào hộp văn bản đó và chọn Mã Chế độ xem từ menu ngữ cảnh để mở Microsoft Visual Basic cho các ứng dụng và sau đó thay thế mã gốc bằng mã VBA sau vào mô-đun trống:

Mã VBA: Thay đổi màu hộp văn bản dựa trên giá trị trong hộp văn bản:

Private Sub TextBox1_Change()
    On Error Resume Next
    Select Case TextBox1.Value
        Case 1 To 10:
            TextBox1.BackColor = vbRed
        Case 11 To 20:
            TextBox1.BackColor = vbGreen
        Case Else:
            TextBox1.BackColor = vbYellow
    End Select
End Sub

màu hộp văn bản doc dựa trên giá trị 4

Chú thích: Trong đoạn mã trên, Hộp văn bản1 là tên của hộp văn bản bạn đã chèn và bạn có thể thay đổi các giá trị và màu nền trong mã theo ý mình.

2. Sau đó, lưu và đóng cửa sổ mã, và thoát khỏi Chế độ thiết kếBây giờ, nếu bạn nhập giá trị từ 1 đến 10 vào hộp văn bản, màu nền của nó sẽ trở thành màu đỏ, giá trị từ 11 đến 20, màu nền của hộp văn bản sẽ trở thành màu xanh lá cây, các giá trị khác, nó sẽ trở thành màu vàng như ảnh chụp màn hình sau:

màu hộp văn bản doc dựa trên giá trị 5


Các bài liên quan:

Làm thế nào để chèn hình ảnh vào hộp văn bản?

Làm cách nào để đặt giá trị mặc định trong hộp văn bản?

Làm cách nào để chỉ cho phép nhập số vào hộp văn bản?

Làm thế nào để áp dụng kiểm tra chính tả trong hộp văn bản?

Công cụ năng suất văn phòng tốt nhất

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

Mô tả


Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Nevermind, I figured it out. Instead of making the event which triggers the change "Textbox1_GotFocus()", I made it "Worksheet_SelectionChange(ByVal Target As Range)". Now any time the value in one of the cells changes, the textbox color changes automatically.
This comment was minimized by the moderator on the site
For me, when trying to change the textbox color value based on two cell values, the textbox only updates if you type something into the textbox. I need it to update automatically. Guess I'll just have to learn VBA to figure out why.
This comment was minimized by the moderator on the site
Can someone provide an example workbook so I can see this working? I keep trying but to no avail. Thanks
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations