Les galetes ens ajuden a lliurar els nostres serveis. En utilitzar els nostres serveis, accepteu el nostre ús de cookies.
Consell: altres idiomes es tradueixen en Google. Pots visitar el English versió d'aquest enllaç.
Iniciar Sessió
x
or
x
x
Registre
x

or

Com s'extreu text basat en el color de la font d'una cel·la a Excel?

Si teniu una llista de dades amb algun text vermell a cada cel·la d'Excel, com es mostra a sota de la captura de pantalla, i sap com treure només el text vermell? Ara presentaré una manera ràpida de resoldre el trencaclosques que extreu text basat en el color de la font d'una cel·la a Excel.

doc-extract-text-color-1

Extreu el text basat en el color de la lletra de cada cel·la


fletxa blau dreta bombolla Extreu el text basat en el color de la lletra de cada cel·la


En Excel, només podeu utilitzar la funció definida per extreure el text basat en el color de la font.

1. Premeu Alt + F11 claus per obrir la finestra de Microsoft Visual Basic per a aplicacions.

2. clic Insereix > Mòduls i copieu el següent codi VBA a la finestra emergent.

VBA: extreu el text basat en el color de la font

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. A continuació, deseu i tanqueu el quadre de diàleg i seleccioneu una cel·la buida al costat de la llista de dades, escriviu aquesta fórmula = GetColorText (A1) (A1 indica la cel·la a la qual voleu extreure el text), premeu Enter clau per obtenir el text necessari i, a continuació, arrossegueu l'identificador d'emplenament automàtic per omplir la fórmula al rang que vulgueu.

Ara podeu veure que s'extreuen tots els textos en vermell.

doc-extract-text-color-2

Punta: En el codi VBA anterior, si necessiteu extreure el text negre de les cel·les, podeu canviar el nom del color Color = vbRed a Color = vbBlack.


Articles relatius:



Eines de productivitat recomanades

Pestanya d'Office

estrella d'or1 Porteu les pestanyes pràctiques a l'Excel i a un altre programari d'Office, igual que Chrome, Firefox i el nou Internet Explorer.

Kutools for Excel

estrella d'or1 Increïble! Incrementeu la productivitat en 5 minuts. No necessites cap habilitat especial, estalvieu dues hores cada dia.

estrella d'or1 300 Noves característiques per a Excel, Excel molt fàcil i potent:

  • Combina cel·les / files / columnes sense perdre dades.
  • Combina i consolida diverses fulles i llibres.
  • Comparar intervals, copiar diversos rangs, convertir text a data, unitat i conversió de divises.
  • Compte per colors, subtotals de paginació, classificació avançada i filtre súper,
  • Més Seleccioneu / Insereix / Suprimeix / Text / Format / Enllaç / Comentari / Llibres / Eines de full de càlcul ...

Tret de pantalla de Kutools per a 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