Página 1 de 1

Colorir e Centralizar Célula via VBA

Enviado: 07 Mai 2020 às 15:19
por pengo
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

Colorir e Centralizar Célula via VBA

Enviado: 07 Mai 2020 às 15:51
por laennder
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

Colorir e Centralizar Célula via VBA

Enviado: 07 Mai 2020 às 16:10
por pengo
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?

Colorir e Centralizar Célula via VBA

Enviado: 07 Mai 2020 às 16:21
por laennder
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.