Pedro, verifique o seguinte:
Não é Do Until e sim Do While, neste caso especificamente (precisa incluir: linha = linha + 1 antes do Loop também)
(Ou então trocar o <>"" por = "")
Em seguida, corrija o nome da função: CONT.SE (e não CONTE.SE)
Estabeleça melhor o que pretende 'contar' (não está claro).
StrindiceCell está retonando uma célula e não um intervalo, e está finalizando a fórmula com .Address(??)
Explique qual o intervalo (mesmo que dinâmico) e qual o critério da contagem (referência).
Ola Edson
Obrigado pelos toques.
1- Quanto as correções de logica citadas, logo depois de postar o modelo no forum me deperei com eles, mas não pude editar a postagem para reenviar o arquivo.
2- Sobre o nome da função, so fui perceber o erro apos ter lido sua resposta no forum, novamente, Obrigado pelo toque.
3- Quando criei a variavel "StrindiceCell" foi no intuito de receber o indice de uma unica celula, através do comando .Address, pensei que receberia tambem o indice de uma seleção, confesso não ter testado.
4-Terminei a formula com .Address pois em um outro modulo de geração de relatorio que tenho utilizei a função desta forma e funcionou.
Sheets("Anual2").Cells(jo, 4).FormulaLocal = "=Anual!" & Sheets("Anual").Cells(10, i).Address
Trabalho em uma clinica de medicina do trabalho, onde realizamos exames para varias empresas, e uma delas precisa de um relatorio financeiro diferenciado.
preciso de uma formula que conte os exames da seleção de exames de acordo com os nomes dados na tabela de presso.
minha maior duvida é: como concatenar o endereço das celulas com o CONT.SE através do VBA, o resto da logica ja esta resolvido.
Desculpa a demora em responder, tive problemas para acessar o forum
Postado : 01/08/2013 7:11 am