Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por pengo
#54518
Boa Tarde, estou tentando colorir e centralizar uma célula especifica, no caso a atual, mas não estou conseguindo, já fiz diversas pesquisas, encontrei coisas parecidas, mas não consigo juntar as peças, alguém poderia me ajudar?

Criei a função abaixo, ela pega as celular que eu selecionei e me apresenta o coeficiente de variação (CV) já em porcentagem, isso está funcionando certo.

O problema, eu gostaria que se esse resultado fosse maior do que 12, a célula fosse pintada de vermelho por exemplo e menor do que 12 pintada de verde, e por um capricho gostaria que esse valo ficasse centralizado na célula.

Tentei varias formas, porém sem sucesso
Código: Selecionar todos
Function CV(rng As Range)
Dim cell As Range

For Each cell In rng

Next cell

    CV = WorksheetFunction.StDev(rng) / WorksheetFunction.Average(rng)

CV = FormatPercent(CV, 1)
  
End Function
Avatar do usuário
Por laennder
Avatar
#54520
Pengo, existe um problema no seu conceito aí. Funções são apenas para retornar calcular e retornar valores. Funções não fazem alterações em cores, formatos etc como as rotinas sub.

O seu problema "problema" pode ser facilmente solucionado usando o recurso de formatação condicional.
Selecione todo o intervalo onde inseriu as fórmulas, e depois aplique a formatação condicional.

Imagem
Por pengo
#54521
Muito Obrigado laennder,

Agora eu entendi porque não consegui que funciona-se.

Sobre a formatação condicional, eu já uso ela, porém como faço isso em diversas planilhas diferentes, estava pensando em já aplicar essa função e ela mesmo pintar a celular para mim, como a formatação condicional faz, assim eu economizava uma etapa.

Mas muito obrigado pelo seu esclarecimento.

Somente uma duvida que me ocorreu, uma rotina sub, poderia pinta a célula correto? então existiria a possibilidade da minha função após ser executada chamar a rotina sub e executar ela, e no caso, pinta a célula? Ou esse tipo de coisa também não funciona?
Avatar do usuário
Por laennder
Avatar
#54522
Ter até tem, mas isso vai causar vários problemas. Primeiro que para avaliar o resultado a fórmula tem que ser inserida, presisonando entender por exemplo. E você vai tirar o cursor da célula. segundo que a coloração será fixa, e como uma função é dinâmica, qual será o gatilho para trocar as cores novamente quando o critério mudar? por isso eu ainda recomento utilizar a formatação condicional.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord