Página 1 de 1

Texto colorido em apenas parte da funçao

Enviado: 27 Ago 2016 às 08:48
por deancarloz
Bom dia,

estou usando a seguinte funçao em uma de minhas planilhas:

=LIN(A1)&SE(F2="sim";" 'D' ";" ")

gostaria que se a função SE fosse verdade, ele retornasse o valor 'D' colorido na cor que eu escolhesse.
É possivel deixar apenas parte da resposta colorida?

Imagem

Texto colorido em apenas parte da funçao

Enviado: 27 Ago 2016 às 11:00
por xoxe
Na mesma célula não.
caso seja em célula diferente só usar a formatação condicional

Texto colorido em apenas parte da funçao

Enviado: 27 Ago 2016 às 18:36
por deancarloz
E se eu escrevesse isso em uma celular e colocasse um = na outra celular para coopiar o mesmo conteudo, ele vem sem essa formataçao que eu quero certo?

existe alguma maneira de fazer a celula com ela com o = ser igual a esse modelo com as cores diferentes?

Texto colorido em apenas parte da funçao

Enviado: 27 Ago 2016 às 19:36
por Escarvalho
Não, também não dá porque só copia o conteúdo e não a formatação. Faça em duas células e tire o limite do meio das duas. Vai parecer só uma.

Re: Texto colorido em apenas parte da funçao

Enviado: 28 Ago 2016 às 07:42
por Deciog
deancarloz

Uma possibilidade é fazer em VBA talvez uma UDF, eu não sei programação VBA, mas aqui tem feras que pode ajudar

Décio

Texto colorido em apenas parte da funçao

Enviado: 28 Ago 2016 às 12:56
por DJunqueira
Penso q com função, nativa ou não, não vai rolar.
Com uma rotina é possível fazer, veja a planilha anexa.

Re: Texto colorido em apenas parte da funçao

Enviado: 05 Set 2016 às 19:16
por deancarloz
DJunqueira escreveu:Penso q com função, nativa ou não, não vai rolar.
Com uma rotina é possível fazer, veja a planilha anexa.
Esse macro é bem o principio que eu quero usar. Modifiquei ele para varrer linhas e colunas da minha planilha.

Como eu quero que ele mude a cor do texto "D" (onde "" estao incluidos na mudança de cor) eu reescrevi o algoritimo para:
Sub MacroColorirParteTexto()
' Macro p/ colorir parte do texto, 28/08/2016
' Declarações e Inicialisação
Dim Linha As Integer, Coluna As Integer, TamanhoPalavra1 As Integer
Dim TextoCélulaAtual As String, Palavra1 As String

' Designa palavras a serem procuradas e seu tamanho
Palavra1 = " "D" "
TamanhoPalavra1 = Len(Palavra1)


' Vasculha palavras entre as linhas 1 até 147
Coluna = 1
For Linha = 1 To 147

' Pega o texto na célula atual
TextoCélulaAtual = ActiveSheet.Cells(Linha, Coluna).Value

' Encontra a posição das palavras no texto
PosiçãoPalavra1 = InStr(1, TextoCélulaAtual, Palavra1)


' Colore a primeira palabra
If PosiçãoPalavra1 > 0 Then
ActiveSheet.Cells(Linha, Coluna).Characters(PosiçãoPalavra1, TamanhoPalavra1).Font.Color = RGB(255, 0, 0)

End If

Next Linha
End Sub

Porém, na linha " "D" ", acontece um erro pois ele nao identifica as aspas de dentro para serem coloridas. Alguma ideia de como resolver isso?

Texto colorido em apenas parte da funçao

Enviado: 05 Set 2016 às 20:16
por DJunqueira
Experimenta usar Chr(34) no lugar das aspas no seu código.

Texto colorido em apenas parte da funçao

Enviado: 08 Set 2016 às 20:25
por CarlosAndrade
deancarloz,
Pelo que vi sua modificação esta correta para alterar a cor na primeira coluna.
Só esta dando erro pois na atribuição você deve colocar Palavra1 = "'D'" ao invés de Palavra1 = " "D" ". Pois sua formula exemplo (=LIN(A1)&SE(F2="sim";" 'D' ";" ")) retorna retorna 1 'D' e não 1 "D". (não use espaço na atribuição o espaço não sera pintado...)
:!: :?:

Texto colorido em apenas parte da funçao

Enviado: 09 Set 2016 às 18:06
por deancarloz
Não funciona mesmo assim '/