Notifications
Clear all

Soma de N células acima

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

Infelizmente fiz um tópico igual a este mas não consegui o que queria realmente, e só depois percebi isso.

Gostaria de fazer o seguinte:

Na célula atual, identificar quantas células acima eu tenho preenchidas com números, e somar estas células. Porém quero que a fórmula desta soma fique na célula atual.

Por exemplo, tenho isto:

Valores
1
5
7
3
2
2
(Célula vazia atual)

E ficaria isso:

Valores
1
5
7
3
2
2
=1+5+7+3+2+2

 
Postado : 30/12/2015 2:13 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde,

Veja se este código atende:

Sub InserirSoma()
    Dim Celula As Range
    Dim Formula As String
    
    If ActiveCell.Value = Empty And ActiveCell.Offset(-1, 0).Value <> Empty Then
        Formula = "="
        For Each Celula In ActiveCell.Offset(-1, 0).CurrentRegion
            If IsNumeric(Celula.Value) Then
                Formula = Formula & "+" & Celula.Value
            End If
        Next
        ActiveCell.Formula = Formula
    Else
        MsgBox "Você precisa selecionar uma célula vazia com números acima"
    End If
End Sub

Abraço

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

 
Postado : 30/12/2015 2:37 pm
(@mateus0203)
Posts: 52
Trusted Member
Topic starter
 

Não deu mas acho que é quase isso!

Deu erro 1004.

Pra ajudar, vou disponibilizar uma imagem do problema.

 
Postado : 30/12/2015 2:58 pm
(@mateus0203)
Posts: 52
Trusted Member
Topic starter
 

Gostaria de Nesta célula que está ativa, fazer a soma dos números acima. Lembrando que o número de células com números acima não é constante, então será preciso um comando que some apenas até onde é célula com número.

 
Postado : 30/12/2015 3:00 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Veja se esta nova versão atende:

Sub InserirSoma()
    Dim Celula As Range
    Dim Formula As String
    
    If ActiveCell.Value = Empty And ActiveCell.Offset(-1, 0).Value <> Empty Then
        Formula = "="
        For Each Celula In ActiveCell.Offset(-1, 0).CurrentRegion
            If IsNumeric(Celula.Value) And Celula.Column = ActiveCell.Column Then
                Formula = Formula & "+" & Celula.Value
            End If
            
        Next
        ActiveCell.Formula = Formula
    Else
        MsgBox "Você precisa selecionar uma célula vazia com números acima"
    End If
End Sub

Abraço

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

 
Postado : 30/12/2015 3:04 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Eu juro que tento, mas nao entendo pq disponibilizar uma imagem se o arquivo fica muito mais facil de entender.....

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 3:04 pm
(@mateus0203)
Posts: 52
Trusted Member
Topic starter
 

Na Trave!!

Olha só, Deu erro apenas porque há dois sinais de + na primeira soma. pode consertar?

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

Percebi, observando o funcionamento, que este + a mais vem de uma célula vazia, pois após o sinal não foi introduzido nenhum número.

 
Postado : 30/12/2015 3:16 pm