Jak pominąć i zwrócić kolor tła wraz z wartością wyszukiwania w programie Excel?
Przypuśćmy, że masz tabelę pokazaną na poniższym zrzucie ekranu. Teraz chcesz sprawdzić, czy podana wartość znajduje się w kolumnie A, a następnie zwrócić odpowiednią wartość wraz z kolorem tła w kolumnie C. Jak to osiągnąć? Metoda opisana w artykule może pomóc w rozwiązaniu problemu.
Wyszukaj i zwróć kolor tła z wartością wyszukiwania według funkcji zdefiniowanej przez użytkownika
Wyszukaj i zwróć kolor tła z wartością wyszukiwania według funkcji zdefiniowanej przez użytkownika
Wykonaj następujące czynności, aby wyszukać wartość i zwrócić jej odpowiednią wartość wraz z kolorem tła w programie Excel.
1. W arkuszu zawiera wartość, którą chcesz przeoczyć, kliknij prawym przyciskiem myszy kartę arkusza i wybierz Wyświetl kod z menu kontekstowego. Zobacz zrzut ekranu:
2. W otwarciu Microsoft Visual Basic for Applications okno, skopiuj poniższy kod VBA do okna Code.
Kod VBA 1: przeglądanie i zwracanie koloru tła z wartością wyszukiwania
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. Następnie kliknij wstawka > Modułi skopiuj poniższy kod VBA 2 do okna modułu.
Kod VBA 2: przeglądanie i zwracanie koloru tła z wartością wyszukiwania
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. Po wprowadzeniu dwóch kodów kliknij Tools > Referencje. Następnie sprawdź Środowisko wykonawcze skryptów firmy Microsoft Microsoft Okno w Referencje - VBAProject Okno dialogowe. Zobacz zrzut ekranu:
5. wciśnij inny + Q klawisze, aby wyjść z Microsoft Visual Basic for Applications i wróć do arkusza.
6. Wybierz pustą komórkę obok szukanej wartości, a następnie wprowadź formułę =LookupKeepColor(E2,$A$1:$C$8,3) do paska formuły, a następnie naciśnij klawisz Enter.
Note: We wzorze E2 zawiera wartość, którą będziesz szukać, 1 $ A: 8 $ C $ to zakres i numer tabeli 3 oznacza, że odpowiednia wartość, którą zwrócisz, znajduje się w trzeciej kolumnie tabeli. Zmień je zgodnie z potrzebami.
7. Kontynuuj wybieranie pierwszej komórki wyniku i przeciągnij uchwyt wypełnienia w dół, aby wyświetlić wszystkie wyniki wraz z kolorem tła. Zobacz zrzut ekranu.
Podobne artykuły:
- Jak skopiować formatowanie źródłowe komórki odnośnika podczas korzystania z Vlookup w programie Excel?
- Jak pominąć i zwrócić format daty zamiast liczby w programie Excel?
- Jak korzystać z vlookup i sum w programie Excel?
- Jak pominąć wartość zwracaną w sąsiedniej lub następnej komórce w programie Excel?
- Jak przeoczyć wartość i zwrócić prawdę lub fałsz / tak lub nie w programie Excel?
Najlepsze narzędzia biurowe
Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas. Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...
Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę
- Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
- Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
- Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!