Notifications
Clear all

WorksheetFunction SumIf VBA só retorna zero

3 Posts
2 Usuários
0 Reactions
1,155 Visualizações
(@zucamoes)
Posts: 2
New Member
Topic starter
 

Olá Amigos,
Estou criando um programinha e preciso do seguinte: Tenho uma planilha (caixa_in) que possui alguns dados, entre eles, as datas e os valores de entradas de caixa,
dispostos em colunas, e preciso que em outra planilha (CAIXA_IN_ORG) apareça a soma de todos os valores de janeiro numa linha, fevereiro na outra e etc...

Para isso, na planilha CAIXA_IN_ORG na primeira coluna, a partir da linha 2 tem os números que representam os meses, 1 ,2 ,3... 12 . Então montei a função:

Sub organizar_entradas()
    For i = 2 To 13
    
    Sheets("CAIXA_IN_ORG").Cells(i, 2) = WorksheetFunction.SumIf( _
                   Sheets("caixa_in").Range("D2:D20"), _
                   Sheets("CAIXA_IN_ORG").Cells(i, 1), _
                   Sheets("caixa_in").Range("C2:C20"))

    Next i
End Sub

Ou seja, somar todos valores da coluna D da linha 2 a 20, da planilha caixa_in que tiverem na coluna C no mesmo intervalo,
o valor correspondente a linha "i" , coluna 1 da planilha CAIXA_IN_ORG. E os valores da coluna C da planilha caixa_in estão em formato numérico tbm (ex: março = 2 , abril = 4).

Só que ele manda pra células certas que eu quero, o valor zero pra todas elas. Portanto o caminho está certo, porém não consigo entender qual o erro, pq ela não soma os valores
da coluna D da planilha caixa_in e manda pra lá ao invés de retornar zero. :x

Alguém conseguiu entender essa bagunça ou é melhor eu tentar explicar de outra forma?

Muito Obrigado pela atenção pessoal!

 
Postado : 22/04/2014 9:57 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Sem poder analisar a planilha/código juntos, ficamos no achômetro. Na estrutura do código parece não haver problema, porem pelo descritivo no tópico, creio que está invertido as ranges. Na sintaxe da função primeiro a range do critério , depois o critério, depois a range a ser somada.

Então na "sua" formula irá somar os dados da Coluna C que tiverem na coluna D = ao parâmetro na planilha ...ORG.

Se não for isso um modelo de como está e o que espera, vai ajudar em muito uma resposta mas direta

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

 
Postado : 23/04/2014 6:54 am
(@zucamoes)
Posts: 2
New Member
Topic starter
 

Cara, era isso mesmo... eu estava invertendo, colocando primeiro a range a ser somada kkkkkkkk!

Valeu Reinaldo! brigadão cara!!!

Deu certo aqui!

 
Postado : 23/04/2014 8:37 am