Notifications
Clear all

Soma acumulada

8 Posts
3 Usuários
0 Reactions
1,728 Visualizações
(@mateus0203)
Posts: 52
Trusted Member
Topic starter
 

Boa noite galera,

Gostaria de saber qual comando em VBA utilizar para fazer uma soma onde eu quero que seja somada N células acima da célula atual.

Por exemplo, quero somar as 5 células acima da célula atual e colocar na minha célula atual o resultado de tal soma.

 
Postado : 29/12/2015 8:07 pm
(@mprudencio)
Posts: 2749
Famed Member
 

se essa celula é fixa numa determinada linha usar a função soma nao resolve?

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 29/12/2015 8:09 pm
(@mateus0203)
Posts: 52
Trusted Member
Topic starter
 

É que eu gostaria do comando em VBA, Prudêncio, pois esta operação será resolvida centenas de vezes e a soma das células acima não vai ser constante, por isso gostaria de um comando geral.

 
Postado : 29/12/2015 8:11 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Teste esse

Sub Somar()

ActiveCell.FormulaR1C1 = "=SUM(R[-5]C:R[-1]C)"

End Sub

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 29/12/2015 8:20 pm
(@mateus0203)
Posts: 52
Trusted Member
Topic starter
 

Prudêncio, gostaria de saber como fazer pra utilizar uma variável para fazer esta soma.

Por exemplo. Fiz com que a variável contasse 7 células acima da célula atual e gostaria de somar essas 7. Depois disso em outro momento da macro ele vai fazer este mesmo procedimento mas dessa vez a variável contou apenas 4 células acima.

Você saberia adaptar o seu comando acima para atender a essa condição?

 
Postado : 29/12/2015 8:43 pm
(@mateus0203)
Posts: 52
Trusted Member
Topic starter
 

Seria mais ou menos assim:

> Contar células preenchidas por números acima;

> Somar as células acima

> Passar para a coluna seguinte

> Repetir o processo

 
Postado : 29/12/2015 8:48 pm
(@messiasmbm)
Posts: 223
Estimable Member
 
Dim ultimALINHA

ultimALINHA = Sheets("Plan1").Range("A1000000").End(xlUp).Row
 Sheets("Plan1").Range("a" & ultimALINHA + 1).Value = Application.WorksheetFunction.Sum(Worksheets("Plan1").Range("A1:A3000"))
 
Postado : 29/12/2015 9:01 pm
(@mateus0203)
Posts: 52
Trusted Member
Topic starter
 

Messias, vou ser mais específico, o meu caso é exatamente como neste exemplo:

Valores I
3 I
5 I
1 I
1 I
(célula vazia) I

Gostaria de nesta célula vazia colocar a soma destes números que estão acima dela, que seria colocar na célula vazia =3+5+1+1

Porém a macro que desenvolvo repete este mesmo procedimento várias vezes e não é constante o número de células que contenham números acima, por exemplo:

Valores I
3 I
5 I
2 I
6 I
9 I
1 I
1 I
8 I
(célula vazia) I

Então gostaria de saber como somar APENAS os números que estão entre a célula vazia e a célula que tem escrito "Valores".

 
Postado : 29/12/2015 9:16 pm