¿es posible aplicar varios colores dentro de una misma celda?

20/06/2007 - 01:44 por jacobosavona | Informe spam
Hola, quiero que los primeros X caracteres de una celda aparezcan de
un color y los restantes en otro distinto (dicha celda contiene una
fórmula que calcula la diferencia en años, meses y días entre dos
fechas introducidas previamente en otras dos celdas, y quiero que
aparezca en rojo hasta la palabra AÑOS inclusive y el resto, o sea,
los meses y los días en gris). ¿Es posible? Muchas gracias por vuestra
ayuda.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
20/06/2007 - 03:39 | Informe spam
hola, jacobo !

... quiero que los primeros X caracteres de una celda aparezcan de un color y los restantes en otro distinto
(dicha celda contiene una formula que calcula la diferencia en a#os, meses y días entre dos fechas
... en otras dos celdas, y quiero que aparezca en rojo hasta la palabra A#OS inclusive y...los meses y los días en gris)...



[hasta donde se] aplicar formato a SOLO ciertos caracteres de una celda
1) solo es posible si 'esa' celda contiene caracteres 'estaticos'
2) no es posible cuando sus caracteres son el resultado de una formula
[a menos que pierdas la formula, convirtiendo su resultado a valores 'constantes'] :-(
o... si utilizas una celda 'auxiliar' [y algo de macros] ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 jacobosavona
20/06/2007 - 17:47 | Informe spam
On 20 jun, 03:39, "Héctor Miguel"
wrote:
hola, jacobo !

> ... quiero que los primeros X caracteres de una celda aparezcan de un color y los restantes en otro distinto
> (dicha celda contiene una formula que calcula la diferencia en a#os, meses y días entre dos fechas
> ... en otras dos celdas, y quiero que aparezca en rojo hasta la palabra A#OS inclusive y...los meses y los días en gris)...

[hasta donde se] aplicar formato a SOLO ciertos caracteres de una celda
1) solo es posible si 'esa' celda contiene caracteres 'estaticos'
2) no es posible cuando sus caracteres son el resultado de una formula
[a menos que pierdas la formula, convirtiendo su resultado a valores 'constantes'] :-(
o... si utilizas una celda 'auxiliar' [y algo de macros] ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Hola Héctor, muchas gracias de nuevo por tu ayuda.
si la celda que contiene la fórmula es A3 y a la celda A4 le damos el
valor £, ¿se podría conseguir con A4?
saludos
Respuesta Responder a este mensaje
#3 Héctor Miguel
20/06/2007 - 22:50 | Informe spam
hola, jacobo !

... si la celda que contiene la formula es A3 y a la celda A4 le damos el valor £
se podria conseguir con A4?



de acuerdo con el comentario anterior...
[hasta donde se] aplicar formato a SOLO ciertos caracteres de una celda
1) solo es posible si 'esa' celda contiene caracteres 'estaticos'
2) no es posible cuando sus caracteres son el resultado de una formula
[a menos que pierdas la formula, convirtiendo su resultado a valores 'constantes'] :-(
o... si utilizas una celda 'auxiliar' [y algo de macros] ;)





-> me temo que no... ya que 'A4' seria tambien una formula :-((

para el caso especifico que comentas, podrias usar por macros algo +/- como lo siguiente:

Sub A4_como_A3_con_formato()
With Range("a4")
.Value = Range("a3")
.Font.ColorIndex = 15
.Characters(1, InStr(1, .Value, "años", 1) + 3).Font.ColorIndex = 3
End With
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#4 jacobosavona
23/06/2007 - 16:26 | Informe spam
On 20 jun, 22:50, "Héctor Miguel"
wrote:
hola, jacobo !

> ... si la celda que contiene la formula es A3 y a la celda A4 le damos el valor £
> se podria conseguir con A4?

de acuerdo con el comentario anterior...

>> [hasta donde se] aplicar formato a SOLO ciertos caracteres de una celda
>> 1) solo es posible si 'esa' celda contiene caracteres 'estaticos'
>> 2) no es posible cuando sus caracteres son el resultado de una formula
>> [a menos que pierdas la formula, convirtiendo su resultado a valores 'constantes'] :-(
>> o... si utilizas una celda 'auxiliar' [y algo de macros] ;)

-> me temo que no... ya que 'A4' seria tambien una formula :-((

para el caso especifico que comentas, podrias usar por macros algo +/- como lo siguiente:

Sub A4_como_A3_con_formato()
With Range("a4")
.Value = Range("a3")
.Font.ColorIndex = 15
.Characters(1, InStr(1, .Value, "años", 1) + 3).Font.ColorIndex = 3
End With
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.



Hola Héctor, he probado tu código y funciona de maravilla, es justo lo
que quería. Siguiendo tu ejemplo, he creado la siguiente macro:

Sub Macro1()
With Range("E22")
.Value = Range("E19")
.Font.ColorIndex = 15
.Characters(1, InStr(1, .Value, "años", 1) + 3).Font.ColorIndex 3
End With
End Sub

Pero llevo dos días intentando que la macro se ejecute automáticamente
cuando cambie el valor de la celda G13, y no lo consigo. He probado el
siguiente código que vi en un mensaje tuyo en otro hilo:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> ("$G$13") Then Exit Sub
End If
End Sub

Y lo he colocado en el mismo modulo que la macro, pero no me funciona.
¿cómo podría hacerlo?. Muchas gracias por tu ayuda. Saludos.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida