Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Formatar Parte do Texto

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
pedrobb
Colaborador
Colaborador
Mensagens: 74
Registrado em: Qua Jul 25, 2012 12:42 pm
Localização: Montes Claros-MG

Formatar Parte do Texto

Mensagem por pedrobb »

08/07 [Sab] Teste
09/07 [Dom] Revolução Constitucionalista

No intervalo D3:D6, há como formatar apenas as palavras Sab ou Dom, quando existentes?
Ficaria assim:

08/07 [Sab] Teste
09/07 [Dom] Revolução Constitucionalista

Grato,
Pedro


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Formatar Parte do Texto

Mensagem por webmaster »



pedrobb
Colaborador
Colaborador
Mensagens: 74
Registrado em: Qua Jul 25, 2012 12:42 pm
Localização: Montes Claros-MG

Re: Formatar Parte do Texto

Mensagem por pedrobb »

Isso mesmo, se for Sab ou Dom.
Como fazer através da formatação condicional?


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Formatar Parte do Texto

Mensagem por webmaster »

A não ser que isso tenha mudado, a formatação condicional tradicional (sem VBA) só consegue formatar a célula como um todo.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


pedrobb
Colaborador
Colaborador
Mensagens: 74
Registrado em: Qua Jul 25, 2012 12:42 pm
Localização: Montes Claros-MG

Re: Formatar Parte do Texto

Mensagem por pedrobb »

Ok. Pode ser por VBA também. Grato.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Formatar Parte do Texto

Mensagem por webmaster »

Código: Selecionar todos

Sub ApplyConditionalFormattingManually()
    ' Define o range
    Dim myRange As Range
    Set myRange = Range("D3:D6")
    
    ' Varre célula por célula
    For Each mycell In myRange
        ' Divide as palavras em um array dividido por espaço
        Dim words As Variant
        words = Split(mycell.Text, " ")
        
        ' Varre cada palavra
        For Each word In words
            ' Testa se há "Sab" ou "Dom"
            If InStr(1, word, "Sab", vbTextCompare) > 0 Or InStr(1, word, "Dom", vbTextCompare) > 0 Then
          
                ' Obtém a posição da palavra no texto
                Dim pos As Integer
                pos = InStr(1, mycell.Text, word, vbTextCompare)
                
                ' Aplica a cor
                With mycell.Characters(Start:=pos, Length:=Len(word)).Font
                    .Color = -16776961
                End With
            End If
        Next word
    Next mycell
End Sub


pedrobb
Colaborador
Colaborador
Mensagens: 74
Registrado em: Qua Jul 25, 2012 12:42 pm
Localização: Montes Claros-MG

Re: Formatar Parte do Texto

Mensagem por pedrobb »

Tomas,
Não funcionou aqui.
Estou anexando o arquivo pra facilitar.
Grato pela atenção!
Anexos
Teste.rar
(185.38 KiB) Baixado 520 vezes


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Formatar Parte do Texto

Mensagem por webmaster »

O que não funcionou? Tentou rodar macro?


pedrobb
Colaborador
Colaborador
Mensagens: 74
Registrado em: Qua Jul 25, 2012 12:42 pm
Localização: Montes Claros-MG

Re: Formatar Parte do Texto

Mensagem por pedrobb »

Sim. Tá no anexo que postei.
Quero formatar apenas as palavras Sab ou Dom, quando existentes.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Formatar Parte do Texto

Mensagem por webmaster »

pedrobb,

Não está funcionando porque o texto não está na célula, mas sim no resultado de uma fórmula. O Excel não sabe prever isso.

A única maneira de ter o que quer é se o texto for fixo. Não encontrei menção na documentação que dissesse o contrário.

Att


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder