Hur kopierar man källformatering av uppslagscellen när man använder Vlookup i Excel?
I de tidigare artiklarna har vi pratat om att behålla bakgrundsfärg när vlookup-värden i Excel. Här i den här artikeln ska vi introducera en metod för att kopiera all cellformatering av den resulterande cellen när du gör Vlookup i Excel. Gör så här.
Kopiera källformatering när du använder Vlookup i Excel med en användardefinierad funktion
Kopiera källformatering när du använder Vlookup i Excel med en användardefinierad funktion
Antar att du har en tabell som visas nedan. Nu måste du kontrollera om ett angivet värde (i kolumn E) finns i kolumn A och returnera motsvarande värde med formatering i kolumn C. Gör så här för att uppnå det.
1. I kalkylbladet innehåller det värde du vill söka igenom, högerklicka på arkfliken och välj Visa kod från snabbmenyn. Se skärmdump:
2. I öppningen Microsoft Visual Basic för applikationer kopiera nedan VBA-kod till kodfönstret.
VBA-kod 1: Vlookup och returvärde med formatering
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. Klicka sedan Insert > Modulernaoch kopiera nedanstående VBA-kod 2 till modulfönstret.
VBA-kod 2: Vlookup och returvärde med formatering
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. klick verktyg > Referenser. Kontrollera sedan Microsoft Script Runtime ruta i Referenser - VBAProject dialog ruta. Se skärmdump:
5. tryck på andra + Q för att avsluta Microsoft Visual Basic för applikationer fönster.
6. Välj en tom cell intill uppslagsvärdet och ange sedan formeln =LookupKeepFormat(E2,$A$1:$C$8,3) i Formula Bar, och tryck sedan på ange nyckel.
Anmärkningar: I formeln, E2 innehåller det värde du ska slå upp, $ A $ 1: $ C $ 8 är tabellområdet och antalet 3 betyder att motsvarande värde du kommer att returnera lokaliseras i den tredje kolumnen i tabellen. Ändra dem efter behov.
7. Fortsätt att välja den första resultatcellen och dra sedan ner Fill Handle för att få alla resultat tillsammans med formateringen enligt nedanstående skärmdump.
Relaterade artiklar:
- Hur slår man upp och returnerar bakgrundsfärg tillsammans med uppslagsvärdet i Excel?
- Hur vlookup och returnera datumformat istället för nummer i Excel?
- Hur använder jag vlookup och sum i Excel?
- Hur vlookup returvärde i intilliggande eller nästa cell i Excel?
- Hur vlookup värde och returnera true eller false / ja eller nej i Excel?
De bästa Office-produktivitetsverktygen
Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%
- återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
- Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
- Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
- Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
- Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
- Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
- Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
- Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
- Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!






























