Wie kopiere ich die Quellformatierung der Suchzelle, wenn ich Vlookup in Excel verwende?
In den vorherigen Artikeln haben wir darüber gesprochen, die Hintergrundfarbe bei Vlookup-Werten in Excel beizubehalten. Hier in diesem Artikel stellen wir eine Methode zum Kopieren der gesamten Zellenformatierung der resultierenden Zelle vor, wenn Sie Vlookup in Excel ausführen. Bitte gehen Sie wie folgt vor.
Kopieren Sie die Quellformatierung, wenn Sie Vlookup in Excel mit einer benutzerdefinierten Funktion verwenden
Angenommen, Sie haben eine Tabelle wie im folgenden Screenshot gezeigt. Jetzt müssen Sie überprüfen, ob sich ein bestimmter Wert (in Spalte E) in Spalte A befindet, und den entsprechenden Wert mit der Formatierung in Spalte C zurückgeben. Gehen Sie dazu wie folgt vor.
1. Klicken Sie im Arbeitsblatt mit dem Wert, den Sie anzeigen möchten, mit der rechten Maustaste auf die Registerkarte Blatt und wählen Sie Code anzeigen aus dem Kontextmenü. Siehe Screenshot:
2. In der Öffnung Microsoft Visual Basic für Applikationen Fenster, bitte kopieren Sie den folgenden VBA-Code in das Code-Fenster.
VBA-Code 1: Vlookup und Rückgabewert mit Formatierung
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. Dann klick Insert > Modul, und kopieren Sie den folgenden VBA-Code 2 in das Modulfenster.
VBA-Code 2: Vlookup und Rückgabewert mit Formatierung
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 Klicken Tools > Bibliographie. Dann überprüfen Sie die Microsoft Script-Laufzeit Box in der Referenzen - VBAProject Dialogbox. Siehe Screenshot:
5. Drücken Sie die Taste Andere + Q Tasten zum Verlassen des Microsoft Visual Basic für Applikationen Fenster.
6. Wählen Sie eine leere Zelle neben dem Nachschlagewert aus und geben Sie dann die Formel ein =LookupKeepFormat(E2,$A$1:$C$8,3) in die Formel-Bar, und drücken Sie dann die Taste Enter Key.
Note: In der Formel E2 enthält den Wert, den Sie suchen, $ A $ 1: $ C $ 8 ist der Tabellenbereich und die Nummer 3 bedeutet, dass der entsprechende Wert, den Sie zurückgeben, sich in der dritten Spalte der Tabelle befindet. Bitte ändern Sie sie nach Bedarf.
7. Wählen Sie weiterhin die erste Ergebniszelle aus und ziehen Sie dann den Füllpunkt nach unten, um alle Ergebnisse zusammen mit ihrer Formatierung zu erhalten, wie im folgenden Screenshot gezeigt.
In Verbindung stehende Artikel:
- Wie kann ich die Hintergrundfarbe zusammen mit dem Suchwert in Excel anzeigen und zurückgeben?
- Wie kann ich das Datumsformat anstelle der Zahl in Excel anzeigen und zurückgeben?
- Wie verwende ich vlookup und sum in Excel?
- Wie kann ich den Rückgabewert in einer benachbarten oder nächsten Zelle in Excel anzeigen?
- Wie kann ich einen Wert suchen und in Excel true oder false / yes oder no zurückgeben?
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...
Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!