Как да копирате форматирането на източника на клетката за търсене, когато използвате Vlookup в Excel?
В предишните статии говорихме за запазване на цвета на фона при vlookup стойности в Excel. Тук, в тази статия, ще представим метод за копиране на цялото форматиране на клетката на получената клетка, когато правите Vlookup в Excel. Моля, направете следното.
Копирайте форматирането на източника, когато използвате Vlookup в Excel с функция, дефинирана от потребителя
Да предположим, че имате таблица, както е показано на екранната снимка по-долу. Сега трябва да проверите дали определена стойност (в колона E) е в колона A и да върнете съответната стойност с форматиране в колона C. Моля, направете следното, за да го постигнете.
1. В работния лист съдържа стойността, която искате да vlookup, щракнете с десния бутон върху раздела на листа и изберете Преглед на кода от контекстното меню. Вижте екранна снимка:
2. В откриването Microsoft Visual Basic за приложения прозорец, моля, копирайте по-долу кода на VBA в прозореца на кода.
VBA код 1: Vlookup и върната стойност с форматиране
Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20211203
Dim I As Long
Dim xKeys As Long
Dim xDicStr As String
On Error Resume Next
Application.ScreenUpdating = False
Application.CutCopyMode = False
xKeys = UBound(xDic.Keys)
If xKeys >= 0 Then
For I = 0 To UBound(xDic.Keys)
xDicStr = xDic.Items(I)
If xDicStr <> "" Then
Set xRg = Application.Range(xDicStr)
xRg.Copy
Range(xDic.Keys(I)).PasteSpecial xlPasteFormats
Else
Range(xDic.Keys(I)).Interior.Color = xlNone
End If
Next
Set xDic = Nothing
End If
Application.ScreenUpdating = True
Application.CutCopyMode = True
End Sub
3. След това кликнете Поставете > Модулии копирайте долния VBA код 2 в прозореца на модула.
VBA код 2: Vlookup и върната стойност с форматиране
Public xDic As New Dictionary
'Update by Extendoffice 20211203
Function LookupKeepFormat(ByRef FndValue, ByRef LookupRng As Range, ByRef xCol As Long)
Dim xFindCell As Range
On Error Resume Next
Application.ScreenUpdating = False
Set xFindCell = LookupRng.Find(FndValue, , xlValues, xlWhole)
If xFindCell Is Nothing Then
LookupKeepFormat = " "
xDic.Add Application.Caller.Address, " "
Else
LookupKeepFormat = xFindCell.Offset(0, xCol - 1).Value
xDic.Add Application.Caller.Address, xFindCell.Offset(0, xCol - 1).Address(External:=True)
End If
Application.ScreenUpdating = True
End Function
4. кликване Инструменти > Препратки. След това проверете Microsoft Script Runtime в полето Препратки – VBAProject диалогов прозорец. Вижте екранна снимка:
5. Натисни Друг + Q клавиши за излизане от Microsoft Visual Basic за приложения прозорец.
6. Изберете празна клетка до търсената стойност и след това въведете формула =LookupKeepFormat(E2,$A$1:$C$8,3) в Формула Бар, след което натиснете Въведете ключ.
Забележка: Във формулата, 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% и намалява стотици кликвания на мишката за вас всеки ден!