Hoe de achtergrondkleur samen met de opzoekwaarde in Excel opvullen en retourneren?
Stel dat u een tabel hebt zoals hieronder afgebeeld. Nu wilt u controleren of een opgegeven waarde in kolom A staat en vervolgens de bijbehorende waarde retourneren, samen met de achtergrondkleur in kolom C. Hoe bereikt u dit? De methode in het artikel kan u helpen het probleem op te lossen.
Vlookup en retourneer achtergrondkleur met opzoekwaarde door de door de gebruiker gedefinieerde functie
Ga als volgt te werk om een waarde op te zoeken en de bijbehorende waarde samen met de achtergrondkleur in Excel te retourneren.
1. Bevat in het werkblad de waarde die u wilt opvullen, klik met de rechtermuisknop op de bladtab en selecteer Bekijk code vanuit het contextmenu. Zie screenshot:
2. In de opening Microsoft Visual Basic voor toepassingen -venster, kopieer de onderstaande VBA-code naar het codevenster.
VBA-code 1: Vlookup en retourneer achtergrondkleur met de opzoekwaarde
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. Dan klikken Invoegen > Moduleen kopieer de onderstaande VBA-code 2 naar het modulevenster.
VBA-code 2: Vlookup en retourneer achtergrondkleur met de opzoekwaarde
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. Nadat u de twee codes hebt ingevoerd, klikt u op Tools > Referenties. Controleer dan het Microsoft Script-runtime box aan de Referenties - VBAProject dialoog venster. Zie screenshot:
5. druk de anders + Q toetsen om het Microsoft Visual Basic voor toepassingen venster en ga terug naar het werkblad.
6. Selecteer een lege cel naast de opzoekwaarde en voer vervolgens de formule in =LookupKeepColor(E2,$A$1:$C$8,3) in de formulebalk en druk vervolgens op Enter.
Note: In de formule, E2 bevat de waarde die u gaat opzoeken, $ A $ 1: $ C $ 8 is het tafelbereik en het nummer 3 betekent dat de overeenkomstige waarde die u retourneert zich in de derde kolom van de tabel bevindt. Verander ze als je nodig hebt.
7. Blijf de eerste resultaatcel selecteren en sleep de vulgreep naar beneden om alle resultaten samen met hun achtergrondkleur te krijgen. Zie schermafbeelding.
Gerelateerde artikelen:
- Hoe de bronopmaak van de opzoekcel te kopiëren bij gebruik van Vlookup in Excel?
- Hoe het datumnotatie in plaats van het getal in Excel opvullen en retourneren?
- Hoe vlookup en sum in Excel te gebruiken?
- Hoe de retourwaarde in aangrenzende of volgende cel in Excel opvullen?
- Hoe waarde opvullen en waar of onwaar / ja of nee retourneren in Excel?
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!