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

Jak wyodrębnić tekst na podstawie koloru czcionki z komórki w programie Excel?

Jeśli masz listę danych z czerwonym tekstem w każdej komórce w programie Excel, jak pokazano na poniższym zrzucie ekranu, i czy wiesz, jak wyodrębnić tylko czerwony tekst? Teraz przedstawię szybki sposób rozwiązania łamigłówki, która wyodrębnia tekst na podstawie koloru czcionki z komórki w programie Excel.

doc-wyodrębnij-tekst-kolor-1

Wyodrębnij tekst na podstawie koloru czcionki z każdej komórki

Karta Office Włącz edycję i przeglądanie na kartach w pakiecie Office i znacznie ułatw swoją pracę ...
Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%
  • Wykorzystaj wszystko ponownie: Dodaj najczęściej używane lub złożone formuły, wykresy i wszystko inne do ulubionych i szybko wykorzystaj je ponownie w przyszłości.
  • Ponad 20 funkcji tekstowych: Wyodrębnij liczbę z ciągu tekstowego; Wyodrębnij lub usuń część tekstów; Konwertuj liczby i waluty na angielskie słowa.
  • Narzędzia do scalania: Wiele skoroszytów i arkuszy w jeden; Scal wiele komórek / wierszy / kolumn bez utraty danych; Połącz zduplikowane wiersze i sumę.
  • Podziel narzędzia: Podziel dane na wiele arkuszy na podstawie wartości; Jeden skoroszyt do wielu plików Excel, PDF lub CSV; Jedna kolumna na wiele kolumn.
  • Wklej pomijanie Ukryte / filtrowane wiersze; Policz i suma według koloru tła; Wysyłaj spersonalizowane wiadomości e-mail do wielu odbiorców zbiorczo.
  • Super filtr: Twórz zaawansowane schematy filtrów i stosuj do dowolnych arkuszy; Sortuj według tygodnia, dnia, częstotliwości i nie tylko; Filtruj pogrubieniem, formułami, komentarzem ...
  • Ponad 300 zaawansowanych funkcji; Współpracuje z Office 2007-2021 i 365; Obsługuje wszystkie języki; Łatwe wdrażanie w przedsiębiorstwie lub organizacji.

strzałka niebieski prawy bąbelek Wyodrębnij tekst na podstawie koloru czcionki z każdej komórki

W programie Excel możesz użyć tylko zdefiniowanej funkcji, aby wyodrębnić tekst na podstawie koloru czcionki.

1. naciśnij Alt + F11 klucze razem, aby otworzyć okno Microsoft Visual Basic for Applications.

2. kliknij wstawka > Moduł i skopiuj następujący kod VBA do wyskakującego okna.

VBA: Wyodrębnij tekst na podstawie koloru czcionki

Function GetColorText(pRange As Range) As String
'UpdatebyExtendoffice20220621
Dim xOut As String
Dim xValue As String
Dim i As Long
Dim TextColor
TextColor = RGB(255, 0, 0) 'colorindex RGB
xValue = pRange.Text
For i = 1 To VBA.Len(xValue)
  If pRange.Characters(i, 1).Font.Color = TextColor Then
  xOut = xOut & VBA.Mid(xValue, i, 1)
  End If
Next
GetColorText = xOut
End Function

3. Następnie zapisz i zamknij okno dialogowe i wybierz pustą komórkę obok listy danych, wpisz tę formułę = GetColorText (A1) (A1 oznacza komórkę, z której chcesz wyodrębnić tekst), naciśnij Wchodzę aby uzyskać potrzebny tekst, a następnie przeciągnij uchwyt autouzupełniania, aby wypełnić formułę do żądanego zakresu.

Teraz możesz zobaczyć, że cały czerwony tekst jest wyodrębniany.

doc-wyodrębnij-tekst-kolor-2

Wskazówka: W powyższym kodzie VBA możesz zmienić kolor rgb w tym skrypcie TextColor = RGB (255, 0, 0) na inne, aby spełnić Twoje potrzeby.


Względne 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 (14)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
Witam, kiedy próbowałem użyć vbBlue, to nie zadziałało. Prosimy o pomoc? Dzięki!
Ten komentarz został zminimalizowany przez moderatora na stronie
Nadaj czcionce dokładnie kolor niebieski.
Ponieważ istnieje wiele rodzajów niebieskiego koloru „jasnoniebieski, błękitny, ciemnoniebieski”
Vba pasuje tylko do koloru.??????
Ten komentarz został zminimalizowany przez moderatora na stronie
Kod działa dobrze, jeśli czerwone ciągi są ciągłe. W przypadku, gdy są rozdzielone w komórce źródłowej, są sklejane ze sobą w komórce wyjściowej. Mam na myśli to, że w danych wyjściowych nie ma miejsca, jeśli czerwone ciągi tekstowe są od siebie oddalone. Czy możesz podać rozwiązanie tego problemu?
Ten komentarz został zminimalizowany przez moderatora na stronie
Hej, dzięki za wskazówkę. Świetnie pasuje do czerwonego i czarnego.
A jeśli chcę przeanalizować „Fioletowy”? zmiana vbPurple nie działa.
Podziękowania
Ten komentarz został zminimalizowany przez moderatora na stronie
Buonasera, grazie mille un'ottima funzione. Però ho un problema, quando val nel foglio ed inserisco es. = GetColorText (A1) przywróć mi wartości, aby przywrócić plik z błędów #WARTOŚĆ!, kliknij dwa razy, aby poprawić wartość i poprawić wartość. che posso taryfy?
Ten komentarz został zminimalizowany przez moderatora na stronie
dimenticavo io do programu Excel 2010
Ten komentarz został zminimalizowany przez moderatora na stronie
dzięki, bardzo ciekawy kod.
Ten komentarz został zminimalizowany przez moderatora na stronie
Kod działa dobrze, jeśli czerwone ciągi są ciągłe. W przypadku, gdy są rozdzielone w komórce źródłowej, są sklejane ze sobą w komórce wyjściowej. Mam na myśli to, że w danych wyjściowych nie ma miejsca, jeśli czerwone ciągi tekstowe są od siebie oddalone. Czy możesz podać rozwiązanie tego problemu?
Ten komentarz został zminimalizowany przez moderatora na stronie
Spróbuj tego, powinno działać
Funkcja GetColorText(pRange As Range) As String
„Zaktualizowano, aby uzyskać wiele”
Dim xOut jako ciąg
Dim xValue jako ciąg
Przyciemnij i tak długo
Dim was Red As Boolean
xWartość = pRange.Tekst

Dla i = 1 To VBA.Len(xValue)

Jeśli pRange.Characters(i, 1).Font.Color = vbRed Wtedy
xOut = xOut & VBA.Mid(xValue, i, 1)
był czerwony = prawda
ElseIf było Czerwone = Prawda Wtedy
wasRed = Fałsz
xOut = xOut & ";"
End If

Dalej

GetColorText = xOut
End Function

Ten komentarz został zminimalizowany przez moderatora na stronie
Dzięki tonie zadziałało idealnie. Jesteś zbawcą Tim :-) 
Ten komentarz został zminimalizowany przez moderatora na stronie
Nadal nie mogłem wyodrębnić niebieskiego tekstu (#1166BB). Czy istnieje sposób na użycie Hex: #1166BB, aby uzyskać kolorowy tekst, którego potrzebuję?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, Robert E Perez, zaktualizowałem kod VBA, teraz obsługuje pobieranie kolorowego tekstu za pomocą kodu rgb. Możesz spróbować kodu ponownie.
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam konkretny tekst w komórce oddzielonej przecinkiem i Mając kolor dla każdego tekstu. Podczas korzystania z funkcji Delimiter nie jestem w stanie zachować koloru czcionki tekstu.
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, jdhjjd, nie rozumiem jasno twojego pytania. Czy chcesz wyodrębnić określony tekst z komórek i zachować jego kolor czcionki, jak pokazano na zrzucie ekranu?
https://www.extendoffice.com/images/stories/comments/sun-comment/split_and_keep_font_color.png
lub podzielić komórki i zachować każdy kolor czcionki tekstu?
https://www.extendoffice.com/images/stories/comments/sun-comment/split_and_keep_font_color-2.png
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