Consejo: Otros idiomas son traducidos por Google. Puedes visitar el English versión de este enlace.
Iniciar sesión
x
or
x
x
Suscríbete
x

or

¿Cómo extraer texto basado en el color de fuente de una celda en Excel?

Si tiene una lista de datos con texto rojo en cada celda de Excel, como se muestra en la siguiente captura de pantalla, ¿sabe cómo extraer el texto rojo solamente? Ahora presentaré una forma rápida de resolver el rompecabezas que extrae texto basado en el color de fuente de una celda en Excel.

doc-extract-text-color-1

Extrae texto basado en el color de fuente de cada celda


flecha azul burbuja derecha Extrae texto basado en el color de fuente de cada celda


En Excel, solo puede usar la función definida para extraer el texto en función del color de la fuente.

1. Prensa Alt + F11 teclas juntas para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

2. Hacer clic recuadro > Módulo y copie el siguiente código VBA en la ventana emergente.

VBA: Extrae texto según el color de la fuente

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ón, guarde y cierre el diálogo, y seleccione una celda en blanco al lado de la lista de datos, escriba esta fórmula = GetColorText (A1) (A1 indica la celda desde la que desea extraer el texto), presione entrar tecla para obtener el texto necesario, luego arrastre la función de autocompletar para completar la fórmula al rango que desea.

Ahora puede ver que se extraen todos los textos en rojo.

doc-extract-text-color-2

Tip: En el código VBA anterior, si necesita extraer el texto negro de las celdas, puede cambiar el nombre del color Color = vbRed a Color = vbBlack.


Artículos relativos:



Herramientas de productividad recomendadas para Excel

Kutools para Excel lo ayuda a terminar el trabajo antes de tiempo y sobresalir de la multitud

  • Más que las potentes funciones avanzadas de 300, diseñadas para los escenarios de trabajo 1500, aumentando la productividad en un 70%, le dan más tiempo para cuidar de la familia y disfrutar de la vida.
  • Ya no es necesario memorizar fórmulas y códigos de VBA, dale un descanso a tu cerebro de ahora en adelante.
  • Conviértase en un experto en Excel en minutos 3. Las operaciones complicadas y repetidas se pueden realizar en segundos.
  • Reduzca miles de operaciones de teclado y mouse todos los días, despídase ahora de las enfermedades profesionales.
  • 110,000 personas altamente efectivas y 300 + elección de compañías de renombre mundial.
  • 60-day completo de prueba gratuita de características. Garantías de devolución del dinero de 60-day. 2 años de actualización y soporte gratis.

Trae la navegación y edición con pestañas a Microsoft Office, mucho más poderosa que las pestañas del navegador

  • La pestaña Office está diseñada para Word, Excel, PowerPoint y otras aplicaciones de Office: Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta tu productividad en un 50% y reduce cientos de clics de ratón por ti todos los días!
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 · 7 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 · 7 months ago
    thanks, very interesting code.
  • To post as a guest, your comment is unpublished.
    Roberto · 8 months ago
    dimenticavo io ho Excel 2010
  • To post as a guest, your comment is unpublished.
    Roberto · 8 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