Cookies hjælper os med at levere vores tjenester. Ved at bruge vores tjenester accepterer du vores brug af cookies.
Tip: Andre sprog er Google-oversat. Du kan besøge English version af dette link.
Log på
x
or
x
x
Tilmeld
x

or

Hvordan udtages tekst baseret på skrifttypefarve fra en celle i Excel?

Hvis du har en dataliste med nogle røde tekst i hver celle i Excel som vist nedenfor, og ved du kun hvordan du kun kan hente den røde tekst? Nu vil jeg introducere en hurtig måde at løse puslespillet på, som uddrag tekst baseret på skrifttypens farve fra en celle i Excel.

doc-ekstrakt-tekst-farve-1

Uddrag tekst baseret på skrifttype farve fra hver celle


pil blå højre boble Uddrag tekst baseret på skrifttype farve fra hver celle


I Excel kan du kun bruge den definerede funktion til at udtrække teksten baseret på skrifttypefarve.

1. Trykke Alt + F11 nøgler sammen for at åbne vinduet Microsoft Visual Basic for Applications.

2. klik indsatte > Moduler og kopier den efterfølgende VBA kode til vinduet, der dukker ud.

VBA: Uddrag tekst baseret på skrifttype farve

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. Gem derefter og lukk dialogen, og vælg en tom celle ved siden af ​​datalisten, skriv denne formel = GetColorText (A1) (A1 angiver den celle, du vil udtrække tekst fra), tryk på Indtast nøgle for at få den nødvendige tekst, og træk autofyld håndtag for at udfylde formlen til det ønskede interval.

Nu kan du se alt rødt tekst udvindes.

doc-ekstrakt-tekst-farve-2

Tip: I ovenstående VBA-kode, hvis du skal udpakke den sorte tekst fra celler, kan du ændre farvenavnet Farve = vbRed til Farve = vbBlack.


Relative artikler:



Anbefalede produktivitetsværktøjer

Office-fanen

guld star1 Medbring praktiske faner til Excel og andre Office-software, ligesom Chrome, Firefox og nye Internet Explorer.

Kutools til Excel

guld star1 Fantastiske! Forøg din produktivitet i 5 minutter. Har ikke brug for særlige færdigheder, spar to timer hver dag!

guld star1 300 Nye funktioner til Excel, gør Excel meget nemt og kraftfuldt:

  • Fusionere celler / rækker / kolonner uden at miste data.
  • Kombiner og konsolidér flere ark og arbejdsbøger.
  • Sammenlign ranges, kopier flere rækker, konverter tekst til dato, enheds- og valutaomregning.
  • Tæl efter farver, Personsøgning Subtotaler, Avanceret Sort og Super Filter,
  • Mere Vælg / Indsæt / Slet / Tekst / Format / Link / Kommentar / Arbejdsbøger / Regneark Værktøjer ...

Skærmbillede af Kutools til Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
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 months 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.
    Kazam Raza · 2 months ago
    thanks, very interesting code.
  • To post as a guest, your comment is unpublished.
    Roberto · 3 months ago
    dimenticavo io ho Excel 2010
  • To post as a guest, your comment is unpublished.
    Roberto · 3 months 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 · 1 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