# ¿Cómo detectar texto en negritas?



## el poder (Sep 9, 2005)

Que tal a todos,

Tengo una pregunta, ¿hay alguna función en excel que detecte los textos que están en negritas?

o se necesita de una macro?

Lo que sucede es que tengo una hoja que tiene algunos textos en negritas (bold) y quiero extraer dicha información a otra hoja.

Gracias por anticipado.


----------



## Greg Truby (Sep 9, 2005)

No hay una función nativa, pero uno puede escribir una función en VBA para lograr lo que usted desea hacer.  Aquí Chip Pearson explica cómo.


----------



## el poder (Sep 12, 2005)

Muchas Gracias Greg,

Leí la referencia que mandaste. Sn embargo, creo que no explica algo como lo que quiero hacer:

"Este es un texto *12345567* que tengo de prueba"

Lo que desearía es obtener solamente 12345567 en otra celda.

¿Es posible?

Gracias nuevamente!


----------



## Greg Truby (Sep 15, 2005)

Poder - es posible.  En este momento no tengo tiempo para escribirle una función que lo haría pero si usted graba un macro mientras edita texto en una celda, cambiando el color o un atributo como *bold/fuerte* usted verá como accesar caracteres individuales dentro de una celda.  Después sería hacer una UDF (user defined function) en VBA que devuelve las caracteres con el atributo buscado.

Si puedo escribo alguito más en unos días...

Saludos,


----------



## el poder (Sep 15, 2005)

Muchas Gracias Greg,

Seguiré tu consejo y disculpa las molestias.

Saludos!


----------



## Claudio Bragaia (Sep 18, 2005)

Poder

Veja se o exemplo*Soma Condicional* em http://geocities.yahoo.com.br/bragaiaclaudio ajuda


----------



## el poder (Sep 19, 2005)

Muchas Gracias Claudio, 

Interesante tu página. Me dio algunas ideas que estoy probando, pero todavía no funciona.

Saludos


----------



## Juan Pablo González (Sep 19, 2005)

Esta función lo hace:


```
Function BOLDTEXT(ByVal Rng As Range) As Variant
   'Only one cell
   If Rng.Count <> 1 Then
      'Return error
      BOLDTEXT = CVErr(xlErrNum)
   End If
   
   Dim i As Long
   
   'Process each character
   BOLDTEXT = ""
   For i = 1 To Len(Rng.Text)
      If Rng.Characters(i, 1).Font.Bold Then
         BOLDTEXT = BOLDTEXT & Rng.Characters(i, 1).Text
      End If
   Next i
End Function
```

Se puede usar en la hoja de cálculo así

=BOLDTEXT(A2)


----------



## el poder (Sep 22, 2005)

Muchas Gracias Juan Pablo!!!

Funcionó a la perfección!!!!!!!!! ray:


----------

