Cookies hjelper oss å levere våre tjenester. Ved å bruke våre tjenester, samtykker du til vår bruk av informasjonskapsler.
Tips: Andre språk er Google-oversatt. Du kan besøke English versjon av denne lenken.
Logg inn
x
or
x
x
Registrere
x

or

Hvordan pakke ut tekst basert på skriftfarge fra en celle i Excel?

Hvis du har en dataliste med litt rød tekst i hver celle i Excel som vist under skjermdump, og vet du hvordan du kun skal trekke ut den røde teksten? Nå vil jeg introdusere en rask måte å løse puslespillet som trekker ut tekst basert på fontfargen fra en celle i Excel.

doc-ekstrakt-tekst-farge-1

Utdrag tekst basert på skriftfarge fra hver celle


pil blå høyre boble Utdrag tekst basert på skriftfarge fra hver celle


I Excel kan du bare bruke den definerte funksjonen til å trekke ut teksten basert på skriftfarge.

1. Pressen Alt + F11 nøkler sammen for å åpne Microsoft Visual Basic for Applications-vinduet.

2. klikk innfelt > Modules og kopier følgende VBA-kode til vinduet som dukker opp.

VBA: Utdrag tekst basert på skriftfarge

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. Lagre og lukk dialogboksen, og velg en tom celle ved siden av datalisten, skriv inn denne formelen = GetColorText (A1) (A1 indikerer cellen du vil pakke ut tekst fra), trykk Enter nøkkel for å få den nødvendige teksten, og dra deretter autofyllhåndtak for å fylle formelen til ønsket rekkevidde.

Nå kan du se alt rødt tekst blir hentet ut.

doc-ekstrakt-tekst-farge-2

Tips: I den ovennevnte VBA-koden, hvis du trenger å trekke ut den svarte teksten fra celler, kan du endre fargeavnet Farge = vbRed til Color = vbBlack.


Relative artikler:



Anbefalte produktivitetsverktøy

Office-fanen

gull star1 Ta med praktiske faner til Excel og annen Office-programvare, akkurat som Chrome, Firefox og ny Internet Explorer.

Kutools for Excel

gull star1 Fantastisk! Øk produktiviteten din i 5 minutter. Trenger ikke noen spesielle ferdigheter, lagre to timer hver dag!

gull star1 300 Nye funksjoner for Excel, gjør Excel veldig enkelt og kraftig:

  • Slett Cell / Rows / Columns uten å miste data.
  • Kombinere og konsolidere flere ark og arbeidsbøker.
  • Sammenlign Ranges, Kopier flere ranger, Konverter tekst til dato, Enhet og Valutaomregning.
  • Telling av farger, personsøkende subtotaler, avansert sortering og superfilter,
  • Mer Velg / Sett inn / Slett / Tekst / Format / Link / Kommentar / Arbeidsbøker / Regneark Verktøy ...

Skjermbilde av Kutools for 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