Notifications
Clear all

retornar a soma de um intervalo

7 Posts
4 Usuários
4 Reactions
2,097 Visualizações
(@cimerio)
Posts: 47
Trusted Member
Topic starter
 

boa tarde.eu quero que a soma de valores no intervalo de uma planilha (ex. Worksheets("sheet1").Range("a1:a100") seja armazenada numa variável

 

como faço isso de forma simples? tenho visto exemplos na internet que são despropositalmente complicados e longos pra uma coisa tão basica

 
Postado : 26/08/2020 4:12 pm
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Bom dia, @cimerio

Sub SomaRange()
  Dim Resultado
  Resultado = [SUM(sheet1!A1:A100)]
End Sub

 Ou ainda:

Sub SomaRange()
  Dim Resultado
  Resultado = Application.WorksheetFunction.Sum(Worksheets("sheet1").Range("A1:A100"))
End Sub

 
Postado : 27/08/2020 10:28 am
cimerio reacted
(@cimerio)
Posts: 47
Trusted Member
Topic starter
 

Obrigado Edson. O segundo metodo retorna 0, mas deve ser alguma formatação da célula. vou testar o primeiro. Me diga, os colchetes tem alguma função específica?

 
Postado : 28/08/2020 2:40 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

@cimerio,

Boa tarde!

Segue outra sugestão:

Sub Somar()
Dim i as Long
'Se todos os números da coluna A forem inteiros. Se tiver decimais, mude o tipo para Double
Dim Resultado As Long

For i = 1 To 100
'Se todos os números da coluna A forem inteiros. Se tiver decimais, mude a função que converte (Clng) para CDbl
Resultado = Resultado + CLng(Range(Range("A" & i).Value)
Next i
End Sub

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 28/08/2020 4:55 pm
cimerio reacted
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 
Postado por: @cimerio

Me diga, os colchetes tem alguma função específica?

Sim, os colchetes são uma maneira taquigráfica de se referir ao poderoso método Application.Evaluate ou Worksheet.Evaluate.

Isso significa, por exemplo, que

 [A1:A100].Value = "Teste"

é uma maneira abreviada da expressão

 Evaluate("A1:A100").Value = "Teste"

 
Postado : 29/08/2020 2:52 am
cimerio reacted
(@anderson)
Posts: 203
Reputable Member
 

Este vídeo esclarece sobre os colchetes:

 

https://youtu.be/ocDKl7ihVsw

Em 90% dos casos em que não se anexa o arquivo, ocorrem mal-entendidos, gerando perda de tempo de ambos os lados.

 
Postado : 29/08/2020 10:54 am
cimerio reacted
(@cimerio)
Posts: 47
Trusted Member
Topic starter
 

obrigado, amigos

 
Postado : 10/09/2020 11:38 am