2012-02-27 9 views
5

Tengo string strInfo, que contiene "Employee John Maybach".¿Es posible hacer texto en varios colores dentro de una celda de Excel?

¿Cómo puedo hacer que el texto de la parte "Empleado" sea negro, y la parte "John Maybach" roja?

La parte "Empleado" siempre permanecerá constante, pero la parte del nombre del empleado cambiará de tal manera que puede ser un nombre de 2 partes (John Doe) o un nombre de 3 partes (John Allen Doe) o simplemente un primer nombre (John).

Quiero que la palabra "Empleado" siempre sea negra, pero que el resto del texto en la celda, la parte del nombre, sea roja. es posible?

Respuesta

7

La grabadora de macros es su amigo:

Dim fixedLength As Long 
fixedLength = Len("Employee") 
ActiveCell.FormulaR1C1 = "Employee Some Employee" 
With ActiveCell.Characters(Start:=fixedLength + 2, Length:=Len(ActiveCell) - fixedLength - 1).Font 
    .Color = vbRed 
End With 
+4

Desde libros de trabajo pueden tener diferentes paletas de colores, usted podría obtener diferentes resultados usando 'ColorIndex', así que algo como' .Color = vbRed' podría ser más seguro. –

+1

Sugeriría poner esa lógica en una macro de evento Worksheet_Change mirando esa columna para que la corrección de color se aplique automáticamente a medida que escribe los nombres. –

+0

@TimWilliams Buena captura. Editado – assylias

Cuestiones relacionadas