ERRO AO CRIAR FÓRMULA COM VBA

KELLY 18/05/2016 19:53:55
#462241
CHDSSANTOS, como faço a fórmula CONT. VALORES? Já tentei fazer de todas as formas, mas não dá certo. A minha intenção seria contar qualquer valor. Usando a fórmula manualmente funciona, mas usando Macro já não dá certo.
KERPLUNK 18/05/2016 23:21:51
#462258
KELLY, uma dica. Quer saber como fazer no VBA qualquer fórmula? Simples, depure o código e adicione na janela de inspeção de variáveis uma referência a célula em que a fórmula está e veja a propriedade [Ô]Formula[Ô]. Vai ser mostrado exatamente como você deve fazer essa fórmula no VBA.
CHDSSANTOS 22/05/2016 20:07:16
#462407
Kelly, boa noite!

A formula CONT.VALORES conta qualquer valor diferente de vazio em um intervalo.
Ex:
=CONT.VALORES(D4:D30)
A célula que conter o código acima apresentar um numero que é a quantidade de células que possuem qualquer valor (numérico ou alfanumérico) no intervalo entre a D4 e D30.
VBA: ThisWorkbook.Sheets([Ô]Cont.Valores[Ô]).Range([Ô]D2[Ô]) = [Ô]=COUNTA(R[2]C:R[28]C)[Ô]

No entanto, a formula CONT.SES(D4:D30;[Ô]<>[Ô]), que encaminhei no arquivo anexo na mensagem anterior também realizará a mesma ação.
VBA: ThisWorkbook.Sheets([Ô]Cont.Ses[Ô]).Range([Ô]D2[Ô]) = [Ô]=COUNTIFS(R[2]C:R[28]C,[Ô][Ô]<>[Ô][Ô])[Ô]

Veja este arquivo que estou anexando nesta mensagem.
KELLY 03/06/2016 22:29:36
#463040
CHDSSANTOS, funcionou. Obrigada!!

Por que você colocou os números entre colchetes em R[2]C:R[28]C e qual a finalidade dessa letra R ?
CHDSSANTOS 06/06/2016 08:45:58
#463093
KELLY,

Uma maneira de criar formulas com VBA é através do padrão R1C1 (Linha/Coluna), esta forma determina a posição dos campos da formula por numeros.

Já quanto aos colchetes, quando eles estão na formula indicam que campo não é travado (=CONT.SES(D4:D30;[Ô]<>[Ô])), ou seja a formula deve se adaptar dependendo de onde ela for colocada, quando vc os retira a formula fica travada (=CONT.SES($D$4:$D$30;[Ô]<>[Ô])),
Página 2 de 2 [15 registro(s)]
Tópico encerrado , respostas não são mais permitidas