Làm cách nào để vlookup và trả về màu nền cùng với giá trị tra cứu trong Excel?
Giả sử bạn có một bảng như hình minh họa bên dưới. Bây giờ bạn muốn kiểm tra xem một giá trị được chỉ định có nằm trong cột A hay không và sau đó trả về giá trị tương ứng cùng với màu nền trong cột C. Làm thế nào để đạt được nó? Phương pháp trong bài có thể giúp bạn giải quyết vấn đề.
Vlookup và trả về màu nền với giá trị tra cứu bằng chức năng Người dùng xác định
Vlookup và trả về màu nền với giá trị tra cứu bằng chức năng Người dùng xác định
Vui lòng làm như sau để tra cứu một giá trị và trả về giá trị tương ứng của nó cùng với màu nền trong Excel.
1. Trong trang tính có chứa giá trị bạn muốn vlookup, nhấp chuột phải vào tab trang tính và chọn Mã Chế độ xem từ menu ngữ cảnh. Xem ảnh chụp màn hình:
2. Trong phần mở đầu Microsoft Visual Basic cho các ứng dụng , vui lòng sao chép mã VBA bên dưới vào cửa sổ Mã.
Mã VBA 1: Vlookup và trả về màu nền với giá trị tra cứu
Sub Worksheet_Change(ByVal Target As Range)
Dim I As Long
Dim xKeys As Long
Dim xDicStr As String
On Error Resume Next
Application.ScreenUpdating = False
xKeys = UBound(xDic.Keys)
If xKeys >= 0 Then
For I = 0 To UBound(xDic.Keys)
xDicStr = xDic.Items(I)
If xDicStr <> "" Then
Range(xDic.Keys(I)).Interior.Color = _
Range(xDic.Items(I)).Interior.Color
Else
Range(xDic.Keys(I)).Interior.Color = xlNone
End If
Next
Set xDic = Nothing
End If
Application.ScreenUpdating = True
End Sub
3. Sau đó nhấn vào Chèn > Mô-đunvà sao chép mã VBA 2 bên dưới vào cửa sổ Mô-đun.
Mã VBA 2: Vlookup và trả về màu nền với giá trị tra cứu
Public xDic As New Dictionary
Function LookupKeepColor (ByRef FndValue, ByRef LookupRng As Range, ByRef xCol As Long)
Dim xFindCell As Range
On Error Resume Next
Set xFindCell = LookupRng.Find(FndValue, , xlValues, xlWhole)
If xFindCell Is Nothing Then
LookupKeepColor = ""
xDic.Add Application.Caller.Address, ""
Else
LookupKeepColor = xFindCell.Offset(0, xCol - 1).Value
xDic.Add Application.Caller.Address, xFindCell.Offset(0, xCol - 1).Address
End If
End Function
4. Sau khi chèn hai mã, hãy nhấp vào CÔNG CỤ > dự án. Sau đó kiểm tra Thời gian chạy Microsoft Script hộp trong Tài liệu tham khảo - VBAProject hộp thoại. Xem ảnh chụp màn hình:
5. Nhấn nút Khác + Q chìa khóa để thoát khỏi Microsoft Visual Basic cho các ứng dụng cửa sổ và quay lại trang tính.
6. Chọn một ô trống bên cạnh giá trị tra cứu, sau đó nhập công thức =LookupKeepColor(E2,$A$1:$C$8,3) vào Thanh công thức, rồi nhấn phím Enter.
Chú thích: Trong công thức, E2 chứa giá trị bạn sẽ tra cứu, $ A $ 1: $ C $ 8 là phạm vi bảng và số 3 nghĩa là giá trị tương ứng bạn sẽ trả về nằm trong cột thứ ba của bảng. Vui lòng thay đổi chúng khi bạn cần.
7. Tiếp tục chọn ô kết quả đầu tiên và kéo Fill Handle xuống để nhận tất cả các kết quả cùng với màu nền của chúng. Xem ảnh chụp màn hình.
Các bài liên quan:
- Làm cách nào để sao chép định dạng nguồn của ô tra cứu khi sử dụng Vlookup trong Excel?
- Làm cách nào để vlookup và trả về định dạng ngày thay vì số trong Excel?
- Cách sử dụng vlookup và sum trong Excel?
- Làm cách nào để vlookup trả về giá trị trong ô liền kề hoặc ô tiếp theo trong Excel?
- Làm cách nào để trả về giá trị vlookup và trả về true hoặc false / yes hoặc no trong Excel?
Công cụ năng suất văn phòng tốt nhất
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...
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!