Cookies nám pomáhají poskytovat naše služby. Využitím našich služeb, souhlasíte s našimi používání cookies.
Tip: Jiné jazyky jsou přeloženy společností Google. Můžete navštívit English verze tohoto odkazu.
Přihlásit se
x
or
x
x
Registrovat
x

or

Jak extrahovat text na základě barvy písma z buňky v aplikaci Excel?

Máte-li seznam dat s červeným textem v každé buňce v aplikaci Excel, jak je ukázáno níže, a víte, jak extrahovat pouze červený text? Nyní představím rychlý způsob, jak vyřešit hádanku, která extrahuje text na základě barvy písma z buňky v aplikaci Excel.

doc-extract-text-color-1

Extrahujte text podle barvy písma z každé buňky


arrow modrá pravá bublina Extrahujte text podle barvy písma z každé buňky


V aplikaci Excel můžete použít pouze definovanou funkci k extrahování textu na základě barvy písma.

1. lis Alt + F11 k otevření okna aplikace Microsoft Visual Basic for Applications.

2. cvaknutí Vložit > Modul a zkopírujte následující kód VBA do vyskakovacího okna.

VBA: Extrahujte text podle barvy písma

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. Potom uloţte a zavřete dialogové okno a zaškrtněte prázdnou buňku vedle seznamu dat, zadejte tento vzorec = GetColorText (A1) (A1 označuje buňku, ze které chcete získat text), stiskněte tlačítko vstoupit klepnutím na požadovaný text a poté přetažením ručičky automatického vyplňování vyplníte vzorec podle požadovaného rozsahu.

Nyní můžete vidět všechny červené texty jsou extrahovány.

doc-extract-text-color-2

Tip: Ve výše uvedeném kódu VBA, pokud potřebujete extrahovat černý text z buněk, můžete změnit název barvy Barva = vbRed na Barva = vbBlack.


Relativní články:



Doporučené nástroje pro produktivitu

Karta Office

zlatá hvězda1 Přiveďte praktické karty do aplikace Excel a jiného softwaru Office, stejně jako Chrome, Firefox a nový Internet Explorer.

Kutools pro Excel

zlatá hvězda1 Úžasný! Zvyšte svou produktivitu v minutách 5. Nepotřebujete žádné speciální dovednosti, kromě dvou hodin denně!

zlatá hvězda1 300 Nové funkce pro aplikaci Excel, Značka Excel je velmi snadná a výkonná:

  • Sloučit buňky / řádky / sloupce bez ztráty dat.
  • Kombinovat a konsolidovat více listů a sešitů.
  • Srovnání rozsahů, kopírování více rozsahů, převod textu na datum, konverzi jednotek a měn.
  • Počet podle barvy, dílčí součty stránkování, třídění podle rozšířeného třídění a super filtru,
  • Více Vyberte / Vložit / Odstranit / Text / Formát / Odkaz / Komentář / Workbooks / Worksheets Nástroje ...

Snímka obrazovky Kutools pro 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