Notifications
Clear all

Soma de N células acima

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

Tenho o seguinte problema:

Tenho células com o descrito abaixo:

Valores
3
5
1
1
(célula vazia)

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
5
2
6
9
1
1
8
(célula vazia)

Então gostaria de saber um comando para somar APENAS os números que estão entre a célula vazia e a célula que tem escrito "Valores" e colocar o valor da soma nesta célula vazia.

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

Disponibilize o arquivo como modelo assim fica mais facil ajuda-lo

Ficar adivinhando é complicado

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 : 30/12/2015 7:53 am
(@messiasmbm)
Posts: 223
Estimable Member
 

Fiz ontem só que seu outro tópico encontra-se trancado e até te mandei uma mensagem particular...
Espero ter ajudado!

Sub somar()
Dim ultimALINHA, PRIMEIRO

ultimALINHA = Sheets("Plan1").Range("A1").End(xlDown).Row
If Sheets("Plan1").Range("a" & ultimALINHA + 2).Value = "" Then
Sheets("Plan1").Range("a" & ultimALINHA + 1).Value = Application.WorksheetFunction.Sum(Worksheets("Plan1").Range("A1:A" & ultimALINHA))
Exit Sub
End If
Sheets("Plan1").Range("a" & ultimALINHA + 1).Value = Application.WorksheetFunction.Sum(Worksheets("Plan1").Range("A1:A" & ultimALINHA))
PRIMEIRO = ultimALINHA + 2
Do While Sheets("Plan1").Range("a" & ultimALINHA + 2).Value <> ""
ultimALINHA = Sheets("Plan1").Range("A1").End(xlDown).Row
Sheets("Plan1").Range("a" & ultimALINHA + 1).Value = Application.WorksheetFunction.Sum(Worksheets("Plan1").Range("A" & PRIMEIRO & ":A" & ultimALINHA))
PRIMEIRO = ultimALINHA + 2
Loop

End Sub

 
Postado : 30/12/2015 11:57 am
(@mateus0203)
Posts: 52
Trusted Member
Topic starter
 

Deu certo Messias!

Obrigado

 
Postado : 30/12/2015 1:22 pm