Wie kann man mit VLOOKUP den Wert und die Hintergrundfarbe gleichzeitig in Excel zurückgeben?
Angenommen, Sie haben eine Tabelle wie im folgenden Screenshot gezeigt. Nun möchten Sie überprüfen, ob sich ein bestimmter Wert in Spalte A befindet, und dann den entsprechenden Wert zusammen mit seiner Hintergrundfarbe aus Spalte C zurückgeben. Wie erreicht man das? Die Methode in diesem Artikel kann Ihnen helfen, das Problem zu lösen.
VLOOKUP und Rückgabe der Hintergrundfarbe zusammen mit dem Suchwert durch eine benutzerdefinierte Funktion
Bitte gehen Sie wie folgt vor, um einen Wert zu suchen und dessen entsprechenden Wert zusammen mit der Hintergrundfarbe in Excel zurückzugeben.
1. Klicken Sie in dem Arbeitsblatt, das den Wert enthält, den Sie mit VLOOKUP finden möchten, mit der rechten Maustaste auf die Registerkarte des Blatts und wählen Sie Code anzeigen aus dem Kontextmenü. Siehe Screenshot:
2. Kopieren Sie im sich öffnenden Fenster Microsoft Visual Basic for Applications den folgenden VBA-Code in das Code-Fenster.
VBA-Code 1: VLOOKUP und Rückgabe der Hintergrundfarbe mit dem Suchwert
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. Klicken Sie dann auf Einfügen > Modul, und kopieren Sie den folgenden VBA-Code 2 in das Modul-Fenster.
VBA-Code 2: VLOOKUP und Rückgabe der Hintergrundfarbe mit dem Suchwert
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. Nachdem Sie die beiden Codes eingefügt haben, klicken Sie auf Extras > Verweise. Aktivieren Sie dann das Kontrollkästchen Microsoft Script Runtime im Dialogfeld Verweise – VBAProject. Siehe Screenshot:
5. Drücken Sie die Tasten Alt + Q, um das Fenster Microsoft Visual Basic for Applications zu schließen und zum Arbeitsblatt zurückzukehren.
6. Wählen Sie eine leere Zelle neben dem Suchwert aus, und geben Sie dann die Formel =LookupKeepColor(E2;$A$1:$C$8;3) in die Formel-Leiste ein, und drücken Sie die Eingabetaste.
Hinweis: In der Formel enthält E2 den Wert, nach dem Sie suchen möchten, $A$1:$C$8 ist der Tabellenbereich, und die Zahl 3 bedeutet, dass der entsprechende Wert, den Sie zurückgeben möchten, sich in der dritten Spalte der Tabelle befindet. Bitte ändern Sie diese Angaben nach Bedarf.
7. Behalten Sie die Auswahl der ersten Ergebniszelle bei, und ziehen Sie den Ausfüllkursor nach unten, um alle Ergebnisse zusammen mit ihrer Hintergrundfarbe zu erhalten. Siehe Screenshot.
Verwandte Artikel:
- Wie kopiert man die Quellformatierung der Suchzelle beim Verwenden von VLOOKUP in Excel?
- Wie gibt man mit VLOOKUP ein Datumsformat anstelle einer Zahl in Excel zurück?
- Wie verwendet man VLOOKUP und Summe in Excel?
- Wie gibt man mit VLOOKUP einen Wert in der angrenzenden oder nächsten Zelle in Excel zurück?
- Wie gibt man mit VLOOKUP einen Wert und „True“ oder „False“ / „Ja“ oder „Nein“ in Excel zurück?
Beste Büroproduktivitätswerkzeuge
Verbessern Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen zur Steigerung der Produktivität und Zeitersparnis. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...
Office Tab bringt eine Registerkartenoberfläche zu Office und macht Ihre Arbeit viel einfacher
- Aktivieren Sie die Bearbeitung und das Lesen mit Registerkarten in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters, anstatt in neuen Fenstern.
- Steigert Ihre Produktivität um50 % und reduziert täglich hunderte von Mausklicks für Sie!