Küpsised aitavad meil pakkuda meie teenuseid. Kasutades meie teenuseid, nõustud meie küpsiste kasutamise kohta.
Näpunäide. Teised keeled on Google'i tõlgitud. Võite külastada English selle lingi versioon.
Logi sisse
x
or
x
x
Regist.
x

or

Kuidas Excelli elemendist pärit teksti värvide põhjal välja võtta?

Kui teil on mõnes Excelis igas lahtris mõne punase tekstiga andmeloend, nagu näidatud allpool pildil, ja kas teate, kuidas ainult punast teksti välja võtta? Nüüd tutvustan kiiret lahendust, mis lahendab puzzle, mis ekstraktib Exceli elemendist pärineva fondi värvi põhjal teksti.

doc-extract-text-color-1

Väljavõtte tegemine iga lahtri fondi värvi põhjal


nool sinine parempoolne mull Väljavõtte tegemine iga lahtri fondi värvi põhjal


Excelis saate teksti väljavõtteid kasutada ainult fontide värvina kasutades määratletud funktsiooni.

1. press Alt + F11 võtmed koos Microsoft Visual Basic for Applications akna avamiseks.

2. klõps Sisesta > moodulid ja kopeerige aktiveeritud aknale järgmine VBA kood.

VBA: teksti väljavõte fontide värvi põhjal

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. Seejärel salvestage ja sulgege dialoog ja valige andmeloendi kõrval tühi lahtris tüüp seda valemit = GetColorText (A1) (A1 näitab lahtrit, kuhu soovite teksti välja võtta), vajutage sisenema et saada vajalik tekst, seejärel lohistage automaatse täitmise käepide, et täita valem soovitud vahemikku.

Nüüd näete kogu punast teksti väljavõtte tegemisel.

doc-extract-text-color-2

tüüp: Ülaltoodud VBA-koodis, kui peate musta teksti välja võtma rakkudest, saate muuta värvi nime Värv = vbRed et Värv = vbBlack.


Suhtelised artiklid:



Soovitatavad tööriistad

Office'i vahekaart

kuldne staatus1 Tooge kasulikke kaarte Exceli ja muudele Office'i tarkvaradele, nagu Chrome, Firefox ja uus Internet Explorer.

Kutools Exceli jaoks

kuldne staatus1 Amazing! Suurendage oma tootlikkust 5 minutiga. Ei vaja erilisi oskusi, välja arvatud kaks tundi iga päev!

kuldne staatus1 300 uued funktsioonid Exceli jaoks, tee Exceli palju lihtsaks ja võimsaks:

  • Ühendage lahtrid / ridad / veerud andmete kaotamata.
  • Mitme lehe ja töövihikute kombineerimine ja konsolideerimine.
  • Võrdlema diapasse, kopeeri mitu vahemikku, teisendades teksti kuupäeva, ühiku ja valuuta konverteerimise.
  • Värvide arv, lehtede vahesummad, täiustatud sorteerimine ja superfiltrid
  • Veel Vali / Lisa / Kustuta / Tekst / Vormindus / Link / Kommentaar / Töölehed / Töölehed Tööriistad ...

Kutoolsi ekraanipilt Exceli jaoks

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