Notifications
Clear all

Como por negrito e fonte maior em parte da fórmula

2 Posts
2 Usuários
0 Reactions
1,211 Visualizações
(@renatoddd)
Posts: 70
Trusted Member
Topic starter
 

Fiz referência à uma célula em uma caixa de texto e gostaria de por em negrito e com uma fonte maior apenas parte do conteúdo.
Ex do conteúdo da célula: 53% do efetivo é composto por mulheres (texto(A1;"0%") & " do efetivo é composto por mulheres")
Quero que o "53% do efetivo" fique em negrito com fonte maior enquanto "é composto por mulheres" continue normal.
Obrigada!

 
Postado : 07/10/2019 7:20 am
Mauro Coutinho
(@coutinho)
Posts: 95
Estimable Member
 

Renatoddd, faltou mais detalhes, fiquei em duvida se quer formatar a celula ou a caixa de texto, seja como for, não tem como formatar Resultado com formula, o que dá pra fazer é pegar o resultado via VBA e lançar na celula ou na caixa de texto, ai sim, conseguimos formatar.

Fiz um exemplo demonstrando os dois jeitos, lembrando que estou considerando que já tem a Caixa de Texto inserida na planilha, nesse exemplo a caixa de texto está Nomeada com o nome "MULHERES", então se for outro nome ajuste na rotina e no caso das celulas tambem, se forme outras tem de ajustar.

Formatar Parte de Texto Range e Caixa de Texto
https://www.sendspace.com/file/pa912r

Para quem não tem como baixar o exemplo segue as rotinas utilizidas, só teem que ajustara os nomes e ranges.

Sub FormatarCaixaDeTexto()
    
    Dim lValor As Variant
    
    'Pega o Valor da celula A1 atraves da formula e monta o resultado
    lValor = WorksheetFunction.Text(Sheets("Plan1").Range("A1"), "0%") & " do efetivo é composto por mulheres"")"
     
    'Insere na Caixa de Texto já existente de nome "MULHERES"
    With ActiveSheet.Shapes("MULHERES").TextFrame.Characters
        .Text = Clear
        .Text = lValor
        Shapes("MULHERES").TextFrame.Characters(Start:=0, Length:=14).Font.Size = 15 'Tamanho da Letra
        Shapes("MULHERES").TextFrame.Characters(Start:=0, Length:=14).Font.Bold = True 'Negrito
        Shapes("MULHERES").TextFrame.Characters(Start:=0, Length:=14).Font.Color = vbRed 'Cor
    End With

End Sub

Sub FormatarParteTextoCelula()
    Dim lValor As Variant

    'Pega o Valor da celula A1 atraves da formula e monta o resultado
    lValor = WorksheetFunction.Text(Sheets("Plan1").Range("A1"), "0%") & " do efetivo é composto por mulheres"")"
    
    'Limpa a formatação e Lança somente o Resultado na celula
    With Range("C1")
        .ClearFormats
        .Value = lValor
    End With
    
    'Formata conforme a qde dos caracteres
    With Range("C1").Characters(Start:=0, Length:=14).Font
        .FontStyle = "Bold" 'Negrito
        .Size = 15 'Tamanho da Letra
        .Color = vbRed 'Cor
    End With

End Sub

Espero que seja isso, senão é só retornar e dar mais detalhes.

[]s

Mauro Coutinho
Administrador

 
Postado : 07/10/2019 1:13 pm