No VBA é possível a...
 
Notifications
Clear all

No VBA é possível arrastar a formula para baixo

5 Posts
2 Usuários
0 Reactions
2,333 Visualizações
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
Topic starter
 

Pessoal bom dia. Me surgiu uma dúvida aqui.

Estou estudando um pouco o método Application.WorksheetFunction e queria saber.

É possível imitar a método do excel (de arrastar a fórmula para as células abaixo) no VBA? pois quando ele faz isso recalcula o resultado de acordo com a célula de referência atual.

Já, eu nao consegui fazer isso no vba, pois as células de referencia ficam fixas na minha função e sempre traz o mesmo resultado

desde já agradeço.

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 03/11/2017 8:19 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Uma forma seria

Sub soma()
Dim LR As Long
With Sheets("Plan1")
    LR = .Range("A" & Rows.Count).End(xlUp).Row
    .Range("C2").Formula = "=sum(A2:B2)" 'Application.WorksheetFunction.Sum([A2+B2])
    .Range("C2:C" & LR).FillDown
    .Range("C2:C" & LR).Value = .Range("C2:C" & LR).Value 'Remove as formulas
End With

End Sub

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 03/11/2017 8:35 am
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
Topic starter
 

alexandrevba, Bom dia!

Cara muito obrigado! era exatamente isso o que pretendia. E o que é melhor: Consegui entender perfeitamente o seu método para colocar em prática nas minhas planilhas. Acredito que, dessa forma minhas planilhas vão ficar até mais rápidas, pois trabalho com relatórios que possuem em média 50.000 linhas de informação onde eu ja deixo as fórmulas inseridas para receber as "variáveis".

Vlw você é fera...

tenho só mais uma dúvida: o método ".formula" é o mesmo que "Application.WorksheetFunction"?

Abrç!

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 03/11/2017 9:02 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Com certeza suas planilhas ficarão mais rápidas!!

Quanto a sua dúvida.
Na biblioteca Excel, temos a classe Range e o membro Formula, neste caso o VBA executa uma fórmula como se o usuário o tivesse feito (usando o recurso formula do excel).
No caso do worksheetfunction(Biblioteca Excel e Classe WorksheetFunction), temos um recurso elegante com as funções da mesma forma, o que muda é forma da linguagem que neste caso seria objetos.

Fonte:
https://msdn.microsoft.com/pt-br/vba/ex ... erty-excel

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 03/11/2017 9:31 am
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
Topic starter
 

Cara mais uma vez você foi bem claro na explicação.

Essa não me esqueço mais.. Resolvido!

Obrigado.

Abrç!

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 03/11/2017 9:38 am