Cookie-urile ne ajuta sa oferim serviciile noastre. Prin utilizarea serviciilor noastre, sunteți de acord cu utilizarea de cookie-uri.
Sfat: alte limbi sunt traduse de Google. Puteți vizita English versiune a acestei legături.
Contul meu
x
or
x
x
Inregistreaza-te
x

or

Cum de a extrage textul bazat pe culoarea fontului dintr-o celulă din Excel?

Dacă aveți o listă de date cu un text roșu în fiecare celulă din Excel așa cum se arată în ecranul de mai jos și știi cum să extragi doar textul roșu? Acum voi introduce o modalitate rapidă de a rezolva puzzle-ul care extrage textul pe baza culorii fontului dintr-o celulă din Excel.

doc-extract de text-color-1

Extrageți textul pe baza culorii fontului din fiecare celulă


săgeată albastru dreapta bule Extrageți textul pe baza culorii fontului din fiecare celulă


În Excel, puteți utiliza funcția definită numai pentru a extrage textul pe baza culorii fontului.

1. presa Alt + F11 chei împreună pentru a deschide fereastra Microsoft Visual Basic for Applications.

2. clic Insera > Module și copiați următorul cod VBA în fereastra afișată.

VBA: Extrage textul pe baza culorii fontului

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. Apoi salvați și închideți dialogul și selectați o celulă necompletată de lângă lista de date, tastați această formulă = GetColorText (A1) (A1 indică celula la care doriți să extrageți text), apăsați Introduce pentru a obține textul necesar, apoi trageți mânerul pentru completarea automată pentru a completa formula la intervalul dorit.

Acum puteți vedea că tot textul roșu este extras.

doc-extract de text-color-2

Sfat: În codul VBA de mai sus, dacă aveți nevoie să extrageți textul negru din celule, puteți schimba numele culorii Culoare = vbRed la Culoare = vbBlack.


Articole relative:



Instrumente de productivitate recomandate

Tab-ul Office

aur star1 Aduceți file la îndemână Excel și alte programe Office, la fel ca Chrome, Firefox și noul Internet Explorer.

Kutools pentru Excel

aur star1 Uimitor! Sporiți productivitatea în minute 5. Nu aveți nevoie de abilități speciale, cu excepția a două ore în fiecare zi!

aur star1 300 Caracteristici noi pentru Excel, Make Excel mult mai ușor și mai puternic:

  • Mergeți celule / rânduri / coloane fără a pierde date.
  • Combină și consolidează mai multe coli și foi de lucru.
  • Comparați intervale, copiați mai multe intervale, convertiți textul în data, conversia unității și monedelor.
  • Numărați după culori, subtotalări pentru pagini, sortare avansată și filtru super,
  • Mai mult Selectați / Inserați / Ștergeți / Text / Format / Link / Comment / Workbooks / Foi de lucru Instrumente ...

Ecranul lui Kutools pentru 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