En este grupo En todos

Foro de Excel



negritas en parte de un texto concatenado

memo
Colima, México
Escrito por Memo Michel
el 08/07/2010

Hola, he buscado mucho esto y no se si se pueda lograr, lo que intento es que en un documento con celdas concatenadas me resalte con negritas parte del texto que resulta, creo que si se entiende lo que busco, ojala me ayuden. Gracias

Cacho Rodríguez
Ingeniería electrónica universidad nac...
Escrito por Cacho Rodríguez
el 08/07/2010

Hola! Memo.
No está muy claro lo que pides por lo que déjame ayudarte:

Si en la celda A1 tienes:
A1 = "Esta es "

Y en la celda A2 tienes:
A2 = "una prueba"

Al concatenarlas quedará:

A3 = A1 & A2 = "Esta es una prueba"

Ahora bien: ¿Qué es -exactamente- lo que quieres poner en negrita? ¿Todo el texto...?

Saludos, Cacho.

Fernando Excel Dudasexcel@hotmail.com
Informatica conde de casal
Escrito por Fernando Excel Dudasexcel@hotmail.com
el 08/07/2010

Hola memo.
Quizas mediante macros.
Separadamente se puede hacer, pero al concatenarse se hace obligatorio el uso de macros.
Ahora no me digas que macro, ya que no entiendo mucho, pero se podria hacer por este medio.

Cacho Rodríguez
Ingeniería electrónica universidad nac...
Escrito por Cacho Rodríguez
el 08/07/2010

Hola! Fernando.
Disculpa la pregunta, pero: ¿No te parece "un poco mucho" desarrollar una macro para poner en negrita a una celda...?

<Ctrl> <N> ó el botón de la barra de herramientas que se parece a una "N", ¿No sería -cualquiera de esas variantes- más sencillo de hacer que una macro...?

Saludos, Cacho.

Escrito por Héctor Miguel Orozco Díaz
el 08/07/2010

Hola, memo!

al concatenar celdas estas dejando formulas/fuciones que solo pueden devolver un resutado (completito) por lo que no es posible dar formato "parcial" a esos resultados

tendrias que usar macros para convertir a "constantes" (perdiendo las formulas/funciones) y determinar a partir de cual caracter (y a cuantos) se les aplicaria que formato (?)

saludos,
hector.

Armando Montes
Foro excel emagister
Escrito por Armando Montes
el 08/07/2010

Pega este codigo en el modulo de la hoja:
Sub Concatenate()
Dim x, y
With Selection
x =. Item(1). Text
y =. Item(2). Text
With. Item(1). Offset(, 1)
. Value = x & y
. Characters(Len(x) + 1, Len(y)). Font. Bold = True
End With
End With
End Sub
Selecciona 2 celdas y corre la macro.

Fernando Excel Dudasexcel@hotmail.com
Informatica conde de casal
Escrito por Fernando Excel Dudasexcel@hotmail.com
el 08/07/2010

Hola Cacho.

Creo que no entendiste bien lo que pedia memo:


- con celdas concatenadas me resalte con negritas parte del texto que resulta


Parte del texto. Probare el codigo de Armando.

Aunque el codigo de Armando pone en negrita la segunda celda no la parte que queramos y para eso debiera una celda que diga a partir de que palabra o espacios queremos que sea mas negrita, es decir una referencia.

Cacho Rodríguez
Ingeniería electrónica universidad nac...
Escrito por Cacho Rodríguez
el 08/07/2010

Es cierto, Fernando: pasé por alto lo de "... Parte del texto que resulta..."

En tal caso, un ejemplo como el que muestra Armando es pertinente.
Saludos, Cacho.

Javier Moncayo
Sistemas uniandes ambato
Escrito por Javier Moncayo
el 09/07/2010

Como dice Fernando se debe utilizar macros, en una celda resultante que contiene formula creo que es imposible hacerlo, prueba esto y comenta:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target. Row >= 10 And Target. Row <= 11 Then
TXT1 = [A10]
TXT2 = [A11]
TEXTO = TXT1 + TXT2
[b13] = TEXTO
[b13]. Characters(Start:=12, Length:=6). Font. Bold = True
End If
End Sub

Fernando Excel Dudasexcel@hotmail.com
Informatica conde de casal
Escrito por Fernando Excel Dudasexcel@hotmail.com
el 09/07/2010

Hola Javier, has dado en el clavo, eso si funciona.
Lo que yo queria hacer es en unas celdas adyacentes poner ( star ) la posicion en la que empieza y en otra la posicion en la que acaba.
Por ejemplo queremos que empiece en la 10 y que acabe en la 18 ( que se ponga en negrita).
Ya se que en tu formula se puede poner eso, pero imaginemos que cada fila empieza y acaba en distintos sitios.
Entonces solo hemos de numerar cuando empieza y donde acaba.
Yo he puesto este codigo y no funciona.
No se casi nada de codigos, pero debe ser algo parecido a eso.
Si alguien lo puede corregir y poner bien estara por completo este debate salvo que a alguien se le ocurra algo más o al que inicio el debate.
Gracias Javier.

Codigo:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target. Row >= 10 And Target. Row <= 11 Then
TXT1 = [A10]
TXT2 = [A11]
TEXTO = TXT1 + TXT2
[b13] = TEXTO
[b13]. Characters(Start:=Range("C13"), Length:=Range("D13")). Font. Bold = True
End If
End Sub

En C13 he puesto por ejemplo 10 ( que es donde empezara la negrita ) ( star )
En D13 he puesto 8 que es la longitud a partir de la posicion 10. ( Lenght )
_____________________________________________________________

Ya a debate cerrado, Javier esta bien asi.

Ya el tema seria si fuesen muchas mas Filas por hacer este texto en negrita, haber como se podria hacer.

Pues no seria buena idea hacer codigos nuevos a cada nueva fila.

Javier Moncayo
Sistemas uniandes ambato
Escrito por Javier Moncayo
el 09/07/2010

Probemos esto a ver si cumple con lo requerido por el que inicio el debate:


Private Sub Worksheet_Change(ByVal Target As Range)
If Target. Row >= 10 And Target. Row <= 12 Then
TXT1 = [A10]
TXT2 = [A11]
TXT3 = [A12]
TEXTO = TXT1 + Space(1) + TXT2 + Space(1) + TXT3
[b13] = TEXTO
[b13]. Characters(Start:=Len(TXT1) + 1, Length:=Len(TXT2) + 1). Font. Bold = True
End If
End Sub

Se pondra en negrita solo el texto 2


Saludos


Javier

Memo Michel
Colima, México
Escrito por Memo Michel
el 09/07/2010

Hola soy el que inicio este debate, nunca habia participado en alguno apenas se de que se trata y lo bueno que es para aprender y elaborar el mejor trabajo entre los participantes, gracias a ustedes he logrado mi intencion y les agradesco porque tengo lo que requeria, creo que voy a dedicarle mas tiempo a participar y segui aprndiendo, para mi esta cerrado el debate, no se que piensen. Gracias