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

Hur extraherar jag text baserat på teckensnittsfärg från en cell i Excel?

Om du har en datalista med lite röd text i varje cell i Excel enligt bilden nedan, och vet du hur man endast extraherar den röda texten? Nu ska jag introducera ett snabbt sätt att lösa pusslet som extraherar text baserat på teckensnittsfärgen från en cell i Excel.

doc-extrahera-text-färg-1

Extrahera text baserat på teckensnittsfärg från varje cell

Fliken Office Aktiverar flikredigering och surfning i Office, och gör ditt arbete mycket enklare ...
Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%
  • Återanvänd allt: Lägg till de mest använda eller komplexa formlerna, diagrammen och allt annat till dina favoriter och återanvänd dem snabbt i framtiden.
  • Mer än 20 textfunktioner: Extrahera nummer från textsträng; Extrahera eller ta bort en del av texterna; Konvertera siffror och valutor till engelska ord.
  • Sammanfoga verktyg: Flera arbetsböcker och ark till en; Slå ihop flera celler / rader / kolumner utan att förlora data; Slå samman duplicerade rader och summa.
  • Dela verktyg: Dela data i flera ark baserat på värde; En arbetsbok för flera Excel-, PDF- eller CSV-filer; En kolumn till flera kolumner.
  • Klistra över Dolda / filtrerade rader; Räkna och summa av bakgrundsfärg; Skicka personliga e-postmeddelanden till flera mottagare i bulk.
  • Superfilter: Skapa avancerade filterscheman och tillämpas på alla ark; Svart per vecka, dag, frekvens och mer; Filter med fetstil, formler, kommentarer ...
  • Mer än 300 kraftfulla funktioner; Fungerar med Office 2007-2021 och 365; Stöder alla språk; Enkel implementering i ditt företag eller organisation.

pil blå höger bubbla Extrahera text baserat på teckensnittsfärg från varje cell

I Excel kan du bara använda den definierade funktionen för att extrahera texten baserat på teckensnittsfärg.

1. Tryck Alt + F11 för att öppna Microsoft Visual Basic for Applications-fönstret.

2. klick Insert > Modulerna och kopiera följande VBA-kod till det poppade fönstret.

VBA: Extrahera text baserat på teckensnittsfärg

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. Spara och stäng sedan dialogrutan och välj en tom cell bredvid datalistan, skriv denna formel = GetColorText (A1) (A1 anger cellen du vill extrahera text från), tryck på ange för att få önskad text och dra sedan handtaget för autofyllning för att fylla formeln till det intervall du vill ha.

Nu kan du se all röd text extraheras.

doc-extrahera-text-färg-2

Tips: I ovanstående VBA-kod kan du ändra färgen rgb i det här skriptet TextColor = RGB(255, 0, 0) till andra för att möta ditt behov.


Relativa artiklar:


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (14)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, när jag försökte använda vbBlue fungerade det inte. Hjälp snälla? Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Ge teckensnittsfärgen till den ext blå färgen.
Eftersom det finns många typer av blå färg "ljusblå, himmelsblå, mörkblå"
vba matcha endast ext färg.???????
Denna kommentar minimerades av moderatoren på webbplatsen
Koden fungerar bra om de röda strängarna är kontinuerliga. Om de är separerade i källcellen limmas de till varandra i utdatacellen. Jag menar att det inte finns något utrymme i utdata om de röda textsträngarna är borta från varandra. Kan du ge en lösning på detta?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, tack för tipset. Fungerar utmärkt med röd och svart.
Vad händer om jag vill tolka "Lila"? att ändra den vbPurple fungerar inte.
Tack
Denna kommentar minimerades av moderatoren på webbplatsen
Buonasera, grazie mille un'ottima funzione. Però ho un problema, quando val nel foglio ed inserisco es. = GetColorText (A1) mi restituisce il valore giusto però come riavvio il file mi da errore #VALORE!, se poi clicco 2 volte sopra mi da il valore corretto e così via. che posso fare?
Denna kommentar minimerades av moderatoren på webbplatsen
dimenticavo io ho Excel 2010
Denna kommentar minimerades av moderatoren på webbplatsen
tack, mycket intressant kod.
Denna kommentar minimerades av moderatoren på webbplatsen
Koden fungerar bra om de röda strängarna är kontinuerliga. Om de är separerade i källcellen limmas de till varandra i utdatacellen. Jag menar att det inte finns något utrymme i utdata om de röda textsträngarna är borta från varandra. Kan du ge en lösning på detta?
Denna kommentar minimerades av moderatoren på webbplatsen
Testa detta, det borde fungera
Funktion GetColorText(pRange As Range) Som String
'Uppdaterad för flera
Dim xOut As String
Dim xValue As String
Dim jag så länge
Dim var Röd Som Boolean
xValue = pRange.Text

För i = 1 Till VBA.Len(xValue)

Om pRange.Characters(i, 1).Font.Color = vbRed Then
xOut = xOut & VBA.Mid(xValue, i, 1)
wasRed = Sant
ElseIf wasRed = Sant då
var Röd = Falskt
xOut = xOut & ";"
End If

Nästa

GetColorText = xOut
Änden Funktion

Denna kommentar minimerades av moderatoren på webbplatsen
Tusen tack det fungerade utmärkt. Du är en räddare Tim :-) 
Denna kommentar minimerades av moderatoren på webbplatsen
Jag kunde fortfarande inte extrahera den blå texten (#1166BB). Finns det något sätt att använda Hex: #1166BB för att få den färgtext jag behöver?
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, Robert E Perez, jag har uppdaterat VBA-koden, nu stöder den att få färgad text med rgb-kod. Du kan prova koden igen.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag har en viss text i en cell separerad av kommatecken och att ha färg för varje text. När jag använder avgränsningsfunktionen kan jag inte behålla teckensnittsfärgen på texten. Uppskatta din hjälp!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej jdhjjd, jag förstår inte din fråga klart. Vill du extrahera den specifika texten från celler och behålla teckensnittsfärgen enligt skärmbilden nedan?
https://www.extendoffice.com/images/stories/comments/sun-comment/split_and_keep_font_color.png
eller dela celler och behålla varje texttypsnittsfärg?
https://www.extendoffice.com/images/stories/comments/sun-comment/split_and_keep_font_color-2.png
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL