Inserção de fórmula...
 
Notifications
Clear all

Inserção de fórmula em célula através de macro

9 Posts
2 Usuários
0 Reactions
1,354 Visualizações
(@nilson_ss)
Posts: 10
Active Member
Topic starter
 

Olá, estou criando uma macro para restaurar valores e fórmulas de células de modo a deixá-la pronta para um novo cálculo ao clique do botão associado.
Preciso que a macro insira uma fórmula na célula "DXX" que vai variar de acordo com o índice de cada linha (XX).
Porém os comandos a seguir não estão funcionando (dá erro de depurador):
Range("D22").FormulaR1C1 = "=SE(C22="";"";SEERRO(PROCV($C22;'Lista de Preço'!B:E;2;FALSO);""))"
Range("D23").FormulaR1C1 = "=SE(C23="";"";SEERRO(PROCV($C23;'Lista de Preço'!B:E;2;FALSO);""))"
Range("D24").FormulaR1C1 = "=SE(C24="";"";SEERRO(PROCV($C24;'Lista de Preço'!B:E;2;FALSO);""))"
.
.
.
Range("D31").FormulaR1C1 = "=SE(C31="";"";SEERRO(PROCV($C31;'Lista de Preço'!B:E;2;FALSO);""))"

Alguém pode me ajudar informando o que está errado? Já tentei dobrar a quantidade de aspas "" mas o erro persiste.

Obrigado!

 
Postado : 27/02/2018 10:00 am
(@osvaldomp)
Posts: 857
Prominent Member
 

Experimente:

Range("D22").FormulaLocal = "=SE(C22="""";"""";SEERRO(PROCV($C22;'Lista de Preço'!B:E;2;FALSO);""""))"

Osvaldo

 
Postado : 27/02/2018 10:49 am
(@nilson_ss)
Posts: 10
Active Member
Topic starter
 

Osvaldo, você é um gênio!
Muito obrigado!!!

 
Postado : 27/02/2018 11:41 am
(@osvaldomp)
Posts: 857
Prominent Member
 

É possível inserir as fórmulas em todo o intervalo assim:

Range("D22:D31").FormulaLocal = "=SE(C22="""";"""";SEERRO(PROCV($C22;'Lista de Preço'!B:E;2;FALSO);""""))"

Osvaldo

 
Postado : 27/02/2018 11:47 am
(@nilson_ss)
Posts: 10
Active Member
Topic starter
 

O problema é que o endereço da célula C22 precisaria alternar para C23, C24, C25, e assim por diante, de acordo com a linha especificada em DXX. Sei que há um meio mais fácil, mas foge do meu conhecimento.

 
Postado : 27/02/2018 11:50 am
(@osvaldomp)
Posts: 857
Prominent Member
 

... endereço da célula C22 precisaria alternar para C23, C24, C25, e assim por diante, ..

Experimente com bastante fé a sugestão que passei, de repente o Excel capta a sua intenção, vai que dá certo ... :P

Osvaldo

 
Postado : 27/02/2018 11:57 am
(@nilson_ss)
Posts: 10
Active Member
Topic starter
 

quem sou para duvidar de um guru... tentando já! :)

 
Postado : 27/02/2018 12:06 pm
(@nilson_ss)
Posts: 10
Active Member
Topic starter
 

E não é que deu certo??? PQP se um dia eu chegar no seu nível estou feito! Muito obrigado!!!

 
Postado : 27/02/2018 12:09 pm
(@nilson_ss)
Posts: 10
Active Member
Topic starter
 

... endereço da célula C22 precisaria alternar para C23, C24, C25, e assim por diante, ..

Experimente com bastante fé a sugestão que passei, de repente o Excel capta a sua intenção, vai que dá certo ... :P

Estou alterando a fórmula para Range("D22:D1000").FormulaLocal = "Prometo nunca mais duvidar do guru Osvaldo!" kkkkkkkkk
Obrigado, Osvaldo! You saved my day!

 
Postado : 27/02/2018 12:16 pm