Las cookies nos ayudan a ofrecer nuestros servicios. Al utilizar nuestros servicios, usted acepta el uso de cookies.
Consejo: Otros idiomas son traducidos por Google. Puedes visitar el English versión de este enlace.
Iniciar sesión
x
or
x
x
Registrate
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

Office Tab

gold star1 Lleve las pestañas útiles a Excel y a otros programas de Office, como Chrome, Firefox y el nuevo Internet Explorer.

Kutools for Excel

gold star1 ¡Asombroso! Aumente su productividad en minutos 5. ¡No necesita ninguna habilidad especial, ahorre dos horas todos los días!

gold star1 Las nuevas características de 300 para Excel hacen que Excel sea mucho más fácil y potente:

  • Fusionar celdas / filas / columnas sin perder datos.
  • Combine y consolide varias hojas y libros de trabajo.
  • Comparar rangos, copiar rangos múltiples, convertir texto a la fecha, unidad y conversión de moneda.
  • Cuenta por colores, subtotales de paginación, clasificación avanzada y superfiltro,
  • Más Seleccionar / Insertar / Eliminar / Texto / Formato / Enlace / Comentario / Libros de trabajo / Hojas de trabajo Herramientas ...

Captura de pantalla de Kutools para 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