Varios estilos de formato en una misma celda

Tengo una celda en la que quiero que salga lo siguiente:
En una celda cualquiera, ej A1 escribo
="todoexpertos del día "&DIA(HOY())&" de "&NOMPROPIO(TEXTO(HOY();"mmmm"))&" de "&AÑO(HOY())
Necesito que me salga así:
Todoexpertos del día 7 de octubre de 2008

1 Respuesta

Respuesta
1
La verdad es que tras varias pruebas, no encuentro la solución y eso que parece sencillo, pero bueno, así son las cosas y así se las hemos contado.
Si recurrimos a VB de excel te valdría esto:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
If Mid(Target, 1, 12) <> "TODOEXPERTOS" And Target <> "" Then Range("a1") = "TODOEXPERTOS del día " & Target
End If
End Sub
Pruébalo
Hola
Creo que no me he expresado bien, o no he sido lo suficientemente claro.
No se si tal vez con una "función definida por el usuario" o algo parecido, se pudiera hacer que parte del resultado de una concatenación, salga por ejemplo en negrita, es decir que si hubiera una función que se llame, por ejemplo "negrita", que al hacer la fórmula me quedara algo así:
="todoexpertos del día "&negrita(DIA(HOY())&" de "&NOMPROPIO(TEXTO(HOY();"mmmm"))&" de "&AÑO(HOY()))
Dando como resultado:
Todoexpertos del día (en formato normal) 7 de octubre de 2008 (en negrita)
Espero que esto aclare mejor el problema, que se pueda encontrar la solución.
Muchas gracias por tu tiempo y por tu ayuda
Realmente quieres crear una función para que te una dos textos uno normal y otro negrita. Con el texto fijo y otro el que tu le digas, o una función con los dos testos dinámicos. O sea que tu le indiques el primer texto (normal) y el segundo texto (negrita). Todo esto es diferente, tú me dirás que es lo que necesitas. Normalmente es mejor habla claro y con ejemplos concretos, que divagar con ejemplo que pueden confundir.
Para una celda en concreto, en este caso A1, se puede utilizar lo siguiente
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
fecha = Format(Target, "[$-C0A]d ""de"" mmmm ""de"" yyyy;@")
Range(Target.Address).Characters(Start:=21, Length:=50).Font.FontStyle = "Negrita"
If Mid(Target, 1, 12) <> "TODOEXPERTOS" And Target <> "" Then Range("a1") = "TODOEXPERTOS del día " & fecha
End If
End Sub
También se podría utilizar par un rango determinado, con alguna pequeña modificación. Estoy trabajando en lo de crear una función, pero lo de concatenar los dos textos, es muy sencillo, pero no me deja cambiar a negrita en esa función. Sigo haciendo pruebas, pero si con lo que te envío te vale, dímelo para no perdés más tiempo. Hoy en día en tiempo es oro y yo no tengo tanto oro como para perderlo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas