Como colorir apenas números e caracteres especiais em uma célula do Microsoft Excel

0

É possível colorir apenas números e caracteres especiais de uma célula (ou coluna) por formatação condicional ou algum outro método semelhante?

Eu criei um livro no Excel para organizar minhas senhas (ou colocar minhas senhas em ordem antes de exportá-las para um gerenciador de senhas). Então, na coluna "senhas", gostaria que o Excel colorisse os números e caracteres especiais para distingui-los do resto do texto.

Exemplo: Enfie 6

Eu vi isso no aplicativo Enpass 6 (beta) e gostei do efeito, e não sei se você pode implementar algo semelhante no Excel.

Exemplo: Microsoft Excel 2016

Muito obrigado por qualquer recomendação ou ideia.

Ps 1: Anexar screenshots de Enpass e o efeito que gostaria de ver no Excel, por exemplo, os números têm uma cor e os caracteres especiais, outra cor.

Ps2: Eu noto que não sou uma especialista em programação, então se você recomendar um código do Visual Basic, por favor com seus comentários para tentar entender.

Ps 3: muito obrigado pela sua ajuda, novamente.

    
por gabeweb 01.08.2018 / 20:44

1 resposta

0

Bem-vindo ao SuperUser. O VBA não é tão assustador quanto pode parecer a princípio, e esse é um ótimo projeto para começar a entender algumas funções.

Primeiro, você deve ative a guia Desenvolvedor no Excel .

1 - Clique na guia Arquivo.

2 - Clique em Opções.

3 - Clique em Personalizar Faixa de Opções.

4- Em Personalizar a Faixa de Opções e em Guias Principais, marque a caixa de seleção Desenvolvedor.

Em seguida, pressione Alt + F11 para abrir o editor do VBA e, em seguida, crie "Novo módulo" selecionando-o aqui:

Coleoseguintecódigonanovajanelaqueéaberta.(parecemuito,masnãohámuitoquandovocêcomeçaatrabalharcomele)

'ThefollowingFunctionhelpsExcelidentifyifacharacterisaletterornotFunctionIsLetter(strValueAsString)AsBooleanDimintPosAsIntegerForintPos=1ToLen(strValue)SelectCaseAsc(Mid(strValue,intPos,1))Case65To90,97To122IsLetter=TrueCaseElseIsLetter=FalseExitForEndSelectNextEndFunction'ThefollowingfunctionhelpsExcelidentifyifacharacterisaspecialcharacter,like#,@,and!FunctionIsSpecial(strValueAsString)AsBooleanDimintPosAsIntegerForintPos=1ToLen(strValue)SelectCaseAsc(Mid(strValue,intPos,1))Case33To47,58To64,91To96,123To126IsSpecial=TrueCaseElseIsSpecial=FalseExitForEndSelectNextEndFunction'ThisistheMacrothatwillchangethecolorsofcharactersinyourselectedrangePublicSubColorText()'thenext3linessetabbreviationsascertainkindsofthings.Longisanumberorinteger,RangesarecellselectionsDimlngAsLongDimrngAsRangeDimclAsRange'ThenextlinesetstherangeofcellstochangecolorsintowhatevercellsyouhaveselectedonthesheetSetrng=Selection'Thissectionloopsthrougheachcellinyourselectionandcheckseachcharacterinthecell.ForEachclInrng.CellsForlng=1ToLen(cl.Value)Withcl.Characters(lng,1)'FirstthecodechecksforlettersandkeepsthemblackIfIsLetter(.Text)Then.Font.ColorIndex=1'changethisnumbertochangethecolor'NextitchecksforSpecialCharactersandcolorsthemBlueElseIfIsSpecial(.Text)Then.Font.ColorIndex=41'Ifacharacterisnotaletteroraspecial,itmustbeanumber,soitcolorsnumbersredElse.Font.ColorIndex=3EndIfEndWithNextlng'thismovesthecodetothenextcharacterNextcl'onceallthecharactersarechecked,thismovesthecodetothenextcellEndSub'oncealltheselectedcellshavebeenrunthrough,thisendsthecode

Seumódulodeveprocurar assim agora .

Agora você está pronto para começar a mudar as cores. Primeiro, selecione todas as células nas quais você deseja alterar as cores.

Emseguida,abrasuaguiaDesenvolvedor(1)ecliquenobotãoMacros(2):

VocêdeveversuamacroColorText.SelecioneecliqueemExecutar

Eoseutextodevesercoloridocombasenotipodepersonagem!

Issomudaráacordoscaracteresnascélulasselecionadas.Assim,vocêpodeselecionarumacolunainteiraoucélulasindividuais.

Sevocêquisermexercomocódigo,simplesmentepressioneAlt+F11paraabriroeditordevba.VocêprecisaráclicarduasvezesnoMódulo1paraabri-lo.

ParaalterarascoresnoVBA,consulte este gráfico para opções de cores e números correspondentes.

Espero que isso ajude. Você pode até atribuir essa macro a um ou atalho de teclado personalizado .

    
por 01.08.2018 / 23:30