Note: The other languages of the website are Google-translated. Back to English

Jak pokolorować lub wyróżnić określone słowo w komórkach w programie Excel?

Jeśli komórka zawiera wiele słów, jak możesz podświetlić określone słowo tylko w tej komórce? A co powiesz na podkreślenie tego konkretnego słowa w wielu komórkach? W tym artykule znajdziesz metodę osiągnięcia tego celu.

Pokoloruj określone słowo w jednej komórce / wielu komórkach za pomocą kodu VBA


Pokoloruj określone słowo w jednej komórce / wielu komórkach za pomocą kodu VBA

Poniższy kod VBA może pomóc w zaznaczeniu określonego słowa w zaznaczeniu. Wykonaj następujące czynności.

1. Wybierz zakres zawierający komórki, w których chcesz podświetlić określone słowo. Następnie naciśnij inny + F11 klawisze jednocześnie, aby otworzyć Microsoft Visual Basic for Applications okno.

2. W otwarciu Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł. Następnie skopiuj i wklej kod VBA do okna Code.

Kod VBA: pokoloruj określone słowo w komórkach w programie Excel

Sub HighlightStrings()
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    On Error Resume Next
    xHStr = Application.InputBox("What is the string to highlight:", "KuTools For Excel", , , , , , 2)
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            xArr = Split(xCell.Value, xHStr)
            xCount = UBound(xArr)
            If xCount > 0 Then
                xStrTmp = ""
                For I = 0 To xCount - 1
                    xStrTmp = xStrTmp & xArr(I)
                    xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3
                    xStrTmp = xStrTmp & xHStr
                Next
            End If
        Next
    Application.ScreenUpdating = True
End Sub

3. wciśnij F5 klucz do uruchomienia kodu. A w Kutools dla programu Excel W oknie dialogowym wprowadź określone słowo, które zaznaczysz w komórkach, a następnie kliknij OK przycisk. Zobacz zrzut ekranu:

Następnie możesz zobaczyć, że wszystkie określone słowa są oznaczone kolorem czerwonym w wybranych komórkach natychmiast, jak pokazano poniżej.


Podobne artykuły:


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

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!
officetab dół
Sortuj komentarze według
Komentarze (23)
Znamionowy 5 z 5 · 1 oceny
Ten komentarz został zminimalizowany przez moderatora na stronie
Nie wyjaśniasz, jak otworzyć „okno dialogowe Kutools dla programu Excel”, o którym mowa w ostatnim kroku.
Ten komentarz został zminimalizowany przez moderatora na stronie
Drogi Justinie,
Przepraszam za to. Po wklejeniu kodu VBA do okna Kod naciśnij klawisz F5, aby uruchomić kod, a następnie otworzy się okno dialogowe „Kutools for Excel”. Dziękuję Ci.
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy jest jakiś sposób, aby kod automatycznie podświetlał słowa podczas edytowania kart?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,
Przepraszam, nie mogę w tym pomóc. Dzięki za komentarz.
Ten komentarz został zminimalizowany przez moderatora na stronie
DZIĘKI, DZIĘKI, DZIĘKI
Ten komentarz został zminimalizowany przez moderatora na stronie
Quisisera resaltar varias palabras al tiempo, como lo puedo hacer?
Ten komentarz został zminimalizowany przez moderatora na stronie
Eso es lo que estoy tratando de hacer tamiben (Ja też staram się to robić)
Ten komentarz został zminimalizowany przez moderatora na stronie
Jeśli wolisz, aby wyszukiwanie/podświetlanie nie uwzględniało wielkości liter, zmień wiersz 'xArr = Split(xCell.Value, xHStr)' na 'xArr = Split(LCase(xCell.Value), LCase(xHStr))'. Zauważyłem również, że naciśnięcie F5 nie uruchamia skryptu (ale zamiast tego daje inne okno modalne). Uzyskałem do niego dostęp, włączając kartę Deweloper za pomocą opcji programu Excel (Dostosuj wstążkę), a następnie klikając Makra.
Ten komentarz został zminimalizowany przez moderatora na stronie
Dzięki... to było bardzo pomocne! Czy istnieje sposób na dostosowanie makra tak, aby podświetlało tylko całe słowa, a nie części. Na przykład staram się wyróżnić słowo „projekt”, ale podkreśla „projekt” w słowie „wyznacz”. Chcę pominąć to słowo, jeśli nie jest to całe słowo. Dzięki!
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam,
Est-il possible de supprimer la boite de dialog et de mettre par défaut "jabłko" comme mot recherché ?
dziękuję
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj PAUC,
Poniższy kod może wyświadczyć ci przysługę. Proszę spróbować.
Sub HighlightStrings()
'Updated by Extendoffice 20220721
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    On Error Resume Next
    xHStr = "apple"
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            xArr = Split(xCell.Value, xHStr)
            xCount = UBound(xArr)
            If xCount > 0 Then
                xStrTmp = ""
                For I = 0 To xCount - 1
                    xStrTmp = xStrTmp & xArr(I)
                    xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3
                    xStrTmp = xStrTmp & xHStr
                Next
            End If
        Next
    Application.ScreenUpdating = True
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
dobry

Coloreaza cuvantul doar daca e la inceput. Daca e la mijloc w aceeasi casuta de excel sau la sfarsit nu-l coloreaza.
Ce anume jak putea schimba w dorszu pentru al colora indiferent unde se afla in casuta excel?

Dzięki!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Andrea,
Jeśli chcesz podświetlić słowo tylko wtedy, gdy znajduje się na początku zaznaczonych komórek. Poniższy kod VBA może ci wyświadczyć przysługę. Proszę spróbować.
Sub HighlightStrings()
'Updated by Extendoffice 20220805
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    On Error Resume Next
    xHStr = Application.InputBox("What is the string to highlight:", "KuTools For Excel", , , , , , 2)
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            If xHStrLen <= Len(xCell.Value) Then
                If xHStr = Left(xCell.Value, xHStrLen) Then
                    xCell.Characters(1, xHStrLen).Font.ColorIndex = 3
                End If
            End If
        Next
    Application.ScreenUpdating = True
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj,
a me servirebbe evidenziare tutti i numeri (comprensivi di due decimali) da -10,00 a 0 in rosso e da 0 a +10,00 in verde. Jaka jest opłata za nie dodawane singalarmente ogni dato senza aggiungerli tutti manualmente?

Dziękuję bardzo
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Ciao,
Czy Twoje liczby znajdują się w różnych komórkach w zakresie? Jeśli tak, możesz utworzyć dwie reguły formatowania warunkowego (od -10 do 0, od 0 do 10), aby wyróżnić te liczby. Jeśli nie, czy możesz przesłać zrzut ekranu swoich danych?
Ten komentarz został zminimalizowany przez moderatora na stronie
To bardzo miłe, thx! Zastanawiam się, czy ktoś wie, jak sprawić, by działało na Macu? Wielkie dzięki
Znamionowy 5 z 5
Ten komentarz został zminimalizowany przez moderatora na stronie
jak można zmienić skrypt, aby wykonać następujące czynności?

zwiększ czcionkę o 1 rozmiar i
wyróżnić wiele słów za jednym uruchomieniem skryptu?

Thx!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć ttaln,

Jeśli chcesz zwiększyć rozmiar czcionki o 1 i zaznaczyć wiele słów jednocześnie, dodaj po linii następującą linię "xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3"w kodzie VBA.
Uwagi: Musisz wcześniej znać bieżący rozmiar czcionki wybranej komórki, a następnie wprowadzić numer o jeden rozmiar większy niż oryginalne słowo. Numer 12 w poniższym wierszu to rozmiar czcionki, który przypiszę pasującym słowom. Oryginalny rozmiar czcionki tego słowa to 11.
xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.Size = 12
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję to bardzo przydatne. Jak mogę wyróżnić słowo zamiast koloru czcionki?

Pozdrowienia.
Ten komentarz został zminimalizowany przez moderatora na stronie
Dziękuję Ci. to było naprawdę pomocne. Czy ktoś może powiedzieć, jak pokolorować tekst zamiast go podświetlać?

pozdrowienia
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Shaik Faiaz hamad,

Excel nie pozwala na kolorowanie części komórki. Przykro mi, że nie mogę ci pomóc z tym problemem.
Ten komentarz został zminimalizowany przez moderatora na stronie
Kryształ Bonjour,
Kod Merci pour ce. Est-il Possible de l'adapter pour mettre en évidence plusieurs mots „Apple, Rose, Vert, Merci”
dziękuję
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć Kus,

Poniższy kod VBA może pomóc. Po uruchomieniu kodu pojawi się okno dialogowe. Wpisz słowa, które chcesz zaznaczyć i oddziel je przecinkami.
https://www.extendoffice.com/images/stories/comments/comment-picture-zxm/highlight.png
Sub HighlightStrings()
'Updated by Extendoffice 20230130
    Dim xHStr As String, xStrTmp As String
    Dim xHStrLen As Long, xCount As Long, I As Long
    Dim xCell As Range
    Dim xArr
    Dim xArr2
    On Error Resume Next
    xHStr = Application.InputBox("What is the string to highlight:", "KuTools For Excel", , , , , , 2)
    If TypeName(xHStr) <> "String" Then Exit Sub
    Application.ScreenUpdating = False
    
    xArr2 = Split(xHStr, ",")
    For j = 0 To UBound(xArr2)
        xHStr = xArr2(j)
    
        xHStrLen = Len(xHStr)
        For Each xCell In Selection
            xArr = Split(xCell.Value, xHStr)
            xCount = UBound(xArr)
            If xCount > 0 Then
                xStrTmp = ""
                For I = 0 To xCount - 1
                    xStrTmp = xStrTmp & xArr(I)
                    xCell.Characters(Len(xStrTmp) + 1, xHStrLen).Font.ColorIndex = 3
                    xStrTmp = xStrTmp & xHStr
                Next
            End If
        Next
    Next
    
    Application.ScreenUpdating = True
End Sub
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL