Как да направите vlookup и да върнете цвета на фона заедно със стойността за търсене в Excel?
Да предположим, че имате таблица, както е показано на екранната снимка по-долу. Сега искате да проверите дали определена стойност е в колона A и след това да върнете съответната стойност заедно с цвета на фона в колона C. Как да го постигнете? Методът в статията може да ви помогне да разрешите проблема.
Vlookup и връщане на цвят на фона със стойност за търсене чрез дефинирана от потребителя функция
Vlookup и връщане на цвят на фона със стойност за търсене чрез дефинирана от потребителя функция
Моля, направете следното, за да потърсите стойност и да върнете съответната стойност заедно с цвета на фона в Excel.
1. В работния лист съдържа стойността, която искате да vlookup, щракнете с десния бутон върху раздела на листа и изберете Преглед на кода от контекстното меню. Вижте екранна снимка:
2. В откриването Microsoft Visual Basic за приложения прозорец, моля, копирайте по-долу кода на VBA в прозореца на кода.
VBA код 1: Vlookup и връща фоновия цвят с търсената стойност
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. След това кликнете Поставете > Модулии копирайте долния VBA код 2 в прозореца на модула.
VBA код 2: Vlookup и връща фоновия цвят с търсената стойност
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. След като поставите двата кода, щракнете Инструменти > Препратки. След това проверете Microsoft Script Runtime в полето Препратки – VBAProject диалогов прозорец. Вижте екранна снимка:
5. Натисни Друг + Q клавиши за излизане от Microsoft Visual Basic за приложения прозорец и се върнете към работния лист.
6. Изберете празна клетка до търсената стойност и след това въведете формула =LookupKeepColor(E2,$A$1:$C$8,3) в лентата с формули и след това натиснете клавиша Enter.
Забележка: Във формулата, E2 съдържа стойността, която ще търсите, $A$1:$C$8 е диапазонът на таблицата и числото 3 означава, че съответната стойност, която ще върнете, се намира в третата колона на таблицата. Моля, сменете ги според нуждите си.
7. Продължете да избирате първата клетка с резултати и плъзнете манипулатора за запълване надолу, за да получите всички резултати заедно с цвета на фона им. Вижте екранна снимка.
Още по темата:
- Как да копирате форматирането на източника на клетката за търсене, когато използвате Vlookup в Excel?
- Как да направите vlookup и да върнете формат на дата вместо число в Excel?
- Как да използвам vlookup и sum в Excel?
- Как да върна vlookup стойност в съседна или следваща клетка в Excel?
- Как да направите vlookup стойност и да върнете вярно или невярно / да или не в Excel?
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!