Note: The other languages of the website are Google-translated. Back to English
Inloggen  \/ 
x
or
x
Registreer  \/ 
x

or

Hoe extraheer ik tekst op basis van lettertypekleur uit een cel in Excel?

Als u een gegevenslijst heeft met wat rode tekst in elke cel in Excel, zoals weergegeven in de onderstaande schermafbeelding, en weet u hoe u alleen de rode tekst kunt extraheren? Nu zal ik een snelle manier introduceren om de puzzel op te lossen die tekst extraheert op basis van de lettertypekleur uit een cel in Excel.

doc-extract-text-color-1

Extraheer tekst op basis van lettertypekleur uit elke cel

Tabblad Office Bewerking en browsen met tabbladen in Office inschakelen en uw werk veel gemakkelijker maken ...
Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%
  • Hergebruik alles: Voeg de meest gebruikte of complexe formules, grafieken en al het andere toe aan uw favorieten en gebruik ze in de toekomst snel opnieuw.
  • Meer dan 20 tekstfuncties: Nummer uit tekststring halen; Extract of verwijder een deel van teksten; Converteer cijfers en valuta's naar Engelse woorden.
  • Tools samenvoegen: Meerdere werkmappen en bladen in één; Meerdere cellen / rijen / kolommen samenvoegen zonder gegevens te verliezen; Voeg dubbele rijen en som samen.
  • Hulpmiddelen splitsen: Gegevens splitsen in meerdere bladen op basis van waarde; Eén werkmap naar meerdere Excel-, PDF- of CSV-bestanden; Eén kolom naar meerdere kolommen.
  • Plakken overslaan Verborgen / gefilterde rijen; Tel en som op achtergrondkleur; Stuur gepersonaliseerde e-mails in bulk naar meerdere ontvangers.
  • Superfilter: Maak geavanceerde filterschema's en pas deze toe op elk blad Soort per week, dag, frequentie en meer; Filteren door vetgedrukt, formules, commentaar ...
  • Meer dan 300 krachtige functies; Werkt met Office 2007-2019 en 365; Ondersteunt alle talen; Eenvoudig te implementeren in uw onderneming of organisatie.

pijl blauw rechts bel Extraheer tekst op basis van lettertypekleur uit elke cel


In Excel kunt u alleen de gedefinieerde functie gebruiken om de tekst te extraheren op basis van lettertypekleur.

1. druk op Alt + F11 toetsen samen om het venster Microsoft Visual Basic for Applications te openen.

2. klikken Invoegen > Module en kopieer de volgende VBA-code naar het uitgeklapte venster.

VBA: extraheer tekst op basis van lettertypekleur

Function GetColorText(pRange As Range) As String
	'Updateby20141105
	Dim xOut As String
	Dim xValue As String
	Dim i As Long
	xValue = pRange.Text

	For i = 1 To VBA.Len(xValue)

		If pRange.Characters(i, 1).Font.Color = vbRed Then
			xOut = xOut & VBA.Mid(xValue, i, 1)
		End If

	Next

	GetColorText = xOut
End Function

3. Sla vervolgens het dialoogvenster op en sluit het, en selecteer een lege cel naast de gegevenslijst, typ deze formule = GetColorText (A1) (A1 geeft de cel aan waaruit u tekst wilt extraheren), druk op Enter -toets om de benodigde tekst te krijgen en sleep vervolgens de hendel voor automatisch aanvullen om de formule tot het gewenste bereik te vullen.

Nu kunt u zien dat alle rode tekst is geëxtraheerd.

doc-extract-text-color-2

Tip: Als u in de bovenstaande VBA-code de zwarte tekst uit cellen moet extraheren, kunt u de kleurnaam wijzigen Kleur = vbRed naar Kleur = vbBlack.


Relatieve artikelen:


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2019 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Gratis proefperiode van 30 dagen met volledige functies. 60 dagen geld-terug-garantie.
kte tabblad 201905

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 elke dag honderden muisklikken voor u!
officetab onderkant
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    prudwi · 2 years ago
    The code works well if the red strings are continuous. In case they are separated in the source cell, they are glued to each other in output cell. I mean there is no space in the output if the red text strings are away from each other. Can you please provide a solution for this?
    • To post as a guest, your comment is unpublished.
      Tim · 3 months ago
      Try this, it should work

      Function GetColorText(pRange As Range) As String
      'Updatedtogetmultiple
      Dim xOut As String
      Dim xValue As String
      Dim i As Long
      Dim wasRed As Boolean
      xValue = pRange.Text

      For i = 1 To VBA.Len(xValue)

      If pRange.Characters(i, 1).Font.Color = vbRed Then
      xOut = xOut & VBA.Mid(xValue, i, 1)
      wasRed = True
      ElseIf wasRed = True Then
      wasRed = False
      xOut = xOut & ";"
      End If

      Next

      GetColorText = xOut
      End Function

  • To post as a guest, your comment is unpublished.
    Kazam Raza · 2 years ago
    thanks, very interesting code.
  • To post as a guest, your comment is unpublished.
    Bobbo69 · 2 years ago
    dimenticavo io ho Excel 2010
  • To post as a guest, your comment is unpublished.
    Bobbo69 · 2 years ago
    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?
  • To post as a guest, your comment is unpublished.
    JM · 3 years ago
    Hey, Thanks for the Tip. Works great with Red and Black.
    What if I want to parse "Purple"? changing it vbPurple does not work.
    Thanks
  • To post as a guest, your comment is unpublished.
    Madhav · 4 years ago
    The code works well if the red strings are continuous. In case they are separated in the source cell, they are glued to each other in output cell. I mean there is no space in the output if the red text strings are away from each other. Can you please provide a solution for this?
  • To post as a guest, your comment is unpublished.
    mj · 5 years ago
    Hello, when i tried using vbBlue, it did not work.
    Help please?

    Thanks!
    • To post as a guest, your comment is unpublished.
      amit · 4 years ago
      Give the font color to the exct blue color.
      Because there are many type of blue color "light blue, sky blue, dark blue"
      vba match only exct color.??????