Negrita en algunas palabras de una sola Celda en Excel

Hola a todos llevo horas tratando de resolver lo siguiente:
He realizado una formula en donde tengo toda la información que se muestra en la imagen donde todo lo que está resaltado de color negro se modifica haciendo según una condición.

Tengo entendido que no se puede dar formato a una formula concatenada entonces estuve indagando que se puede utilizar macro para poder obtener el resultado que estoy buscando sin embargo no he tenido éxito.

Quiero solicitar la experiencia y conocimiento de ustedes para poder resolver este problema que me permita facilitar y reducir horas de trabajo.

3 Respuestas

Respuesta

Creo que si tienes la hoja de cálculo con los datos de los trabajadores, lo más fácil es escribir el texto en Word y mediante Combinar Correspondencia ir añadiendo los campos donde correspondan.

Siguiendo las indicaciones del asistente es muy sencillo hacerlo.

Respuesta

H o l a : Te anexo la macro.

En la macro tienes que poner las celdas que vas a concatenar, en esta línea:

    celdas = Array("B2", "B3", "B4", "B5", "B6", _
                   "B7", "B8", "en", "B9", "B10", _
                   "B11")

Para cada celda, tienes que indicar si va en negritas o no va en negritas, en esta línea:

    negras = Array("no", "no", "si", "no", "si", _
                   "no", "si", "en", "no", "no", _
                   "si")

En ambos arreglos, puedes ver que puse la palabra "en", eso significa que después de la celda B8, se debe insertar un enter.

Si quieres 2 enter, entonces pones 2 "en" en ambos arreglos:

    celdas = Array("B2", "B3", "B4", "B5", "B6", _
                   "B7", "B8", "en", "en", "B9", "B10", _
                   "B11")
    negras = Array("no", "no", "si", "no", "si", _
                   "no", "si", "en", "en", "no", "no", _
                   "si")

También tienes que poner en la macro, el nombre de la hoja donde están las celdas a concatenar, el nombre de la hoja destino y la celda destino, en estas líneas:

    Set h1 = Sheets("datos")    'hoja de celdas
    Set h2 = Sheets("final")    'hoja destino
    Set cel = h2.Range("C12")   'celda destino

La macro:

Sub Poner_Negritas()
'---
'   Por.Dante Amor
'---
    Application.ScreenUpdating = False
    celdas = Array("B2", "B3", "B4", "B5", "B6", _
                   "B7", "B8", "en", "en", "B9", "B10", _
                   "B11")
    negras = Array("no", "no", "si", "no", "si", _
                   "no", "si", "en", "en", "no", "no", _
                   "si")
    Set h1 = Sheets("datos")    'hoja de celdas
    Set h2 = Sheets("final")    'hoja destino
    Set cel = h2.Range("C12")   'celda destino
    '
    cel.Value = ""
    cel.Font.Bold = False
    For i = LBound(celdas) To UBound(celdas)
        If celdas(i) = "en" Then
            cel.Value = cel.Value & Chr(10)
        Else
            cel.Value = cel.Value & h1.Range(celdas(i))
        End If
    Next
    For i = LBound(celdas) To UBound(celdas)
        If negras(i) = "si" Then
            n = 1
            Do While True
                valor = h1.Range(celdas(i))
                ini = InStr(n, cel.Value, valor)
                fin = Len(valor)
                If ini > 0 Then
                    cel.Characters(Start:=ini, Length:=fin).Font.FontStyle = "Negrita"
                End If
                n = n + Len(valor)
                If Len(cel.Value) <= n Then Exit Do
            Loop
        End If
    Next
    Application.ScreenUpdating = True
End Sub

Revisa si es lo que necesitas o si tienes alguna duda.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias
Respuesta

Aparentemente haces un certificado con datos provenientes de Excel yo te sugiero que manejes Word desde Excel es decir tengas una plantilla de word y mediante una macro rellenes los datos necesarios con la información de excel, mira el ejemplo para que entiendas mejor lo que digo:

https://youtu.be/IS2lih99f7A 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas