Lo que quiero hacer es lo siguiente: tengo alrededor de ~1400 filas llenas de datos, de las cuales la última columna contiene mucho texto. Aquí hay una imagen para mostrar lo que quiero decir: imagen eliminada porque solo puedo publicar 2 enlaces a la vez.
Ahora, para que el texto sea más fácil de leer, quiero poner en negrita algunas palabras.
Ahora mismo tengo la siguiente macro:
Dim range As range
Set range = Application.Selection
Dim boldwords As Variant
boldwords = Array("Atemschutz:", "Körperschutz:", "Handschutz:", "Augenschutz:")
Dim cell As range
For Each cell In range
For Each bword In boldwords
foundword = InStr(1, cell.Text, bword, VbCompareMethod.vbTextCompare)
If foundword <> 0 Then
cell.Characters(foundword, Len(bworld)).Font.Bold = True
End If
Next
Next
- Recorre todas las celdas seleccionadas
- recorra todas las palabras que deben estar en negrita y verifique si están contenidas en la celda
- Si lo son, ponlos en negrita.
Ahora mi problema es que, una vez que lo ejecuto, mi texto aparece completamente en negrita o confuso.Como esto , o coloca cada letra en una línea separada. Excel se ralentiza, se congela o, a veces, falla después de eso.
Qué se puede hacer para prevenir esto?
ACTUALIZACIÓN: Después de corregir el nombre de la variable que mencionó Siphor, el texto ya no está confuso pero a veces aún se divide en líneas separadas. Aquí hay una imagen para mostrar lo que quiero decir:Haz click en mi
Respuesta1
Creo que es un error en tu código,Len (bmundo)debiera serLen(bpalabra). Debe habilitar Declaración de variable requerida (Opción explícita) en las opciones de Vba. Ayuda a encontrar esos errores.