Notifications
Clear all

SOMAPRODUTO no vba excel.

26 Posts
3 Usuários
0 Reactions
5,304 Visualizações
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Pessoal,

Fazer a formula SOMAPRODUTO no Excel é, de certo modo, fácil.

Porém não se realizá-la no VBA EXCEL.

Como é feita?

 
Postado : 27/04/2015 1:48 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Uma possível forma seria usar uma formula!

Sub AleVBA_15582()
    With Range("Seu_intervalo")
        .Formula = "=SUMPRODUCT((List1!$D$2:$D$1000=$A6)*(List1!$A$2:$A$1000<=$A$2)*(List1!$G$2:$G$1000))"
        .Value = .Value
    End With
End Sub

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

 
Postado : 27/04/2015 2:29 pm
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Alexandre,

Tive uma leve dificuldade para adaptá-la a minha necessidade, mas acredito que atenderá o que preciso.

Vamos lá, um breve tira dúvidas:

  With Range("Seu_intervalo")

Eu ponho qual intervalo?

 
Postado : 28/04/2015 5:01 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Onde você pretende ter o resultado que a formula irá calcular!!
Ex: Se você quer o resultado da formula em A1:A50,

With Range("A1:A50")

Att

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

 
Postado : 28/04/2015 5:34 am
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Se o

 With Range ("A1:A50")

refere-se a coluna que possui os valores a serem somados, diga-me o que seria esse última parte do código

(List1!$G$2:$G$1000))"

, pois, ao meu ver, essa é a parte que a gente inseri o caminho das células a serem somadas.

De qualquer modo, digo que a minha necessidade é fazer com que, através de um botão, o VBA soma os valores de uma determinada coluna, atendendo a dois critérios: datas e texto.

 
Postado : 28/04/2015 5:45 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Por favor poste seu arquivo modelo, nele descreva detalhadamente o que quer, como quer, simule um resultado.

Att

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

 
Postado : 28/04/2015 8:39 am
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Segue o exemplo.

 
Postado : 28/04/2015 1:20 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Qual calculo você quer fazer ou tem que fazer?

Onde ficará o resultado desse calculo?

Att

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

 
Postado : 28/04/2015 2:40 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Geralmente um modelo ajuda, mas se não detalhar quais criterios e quais colunas se referem fica dificil.

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

 
Postado : 28/04/2015 11:38 pm
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Alexandre,

Apresente o resultado em uma Msgbox, depois eu insiro um textbox ou algo similar.

Mauro,

Veja o exemplo e leia a libel que coloquei na userform.

Obrigado galera.

 
Postado : 29/04/2015 4:33 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Mauro,
Veja o exemplo e leia a libel que coloquei na userform.
Obrigado galera.

Lorenzon, eu teria olhado se na planilha você tivesse indicado que era para ver obs no UserForm, como está falando da Função SOMARPRODUTO, nem me dei ao trabalho de ver, mas dando uma olhada rápida agora, não me ajudou em nada, devo estar ficando enferrujado :

Não entendi suas obs :
Eu preciso que do total de entrada e saídas realizadas no período de: Produtos ou Serviço:
O que é considerado "Produtos ou Serviço" ? Ccusto - col. "C" ou Crazao - Col. "D" ?

Na coluna E, da aba DB, eu quero verificar a variável: ENTRADA e SAÍDA e na coluna H, a variável data.
Esta, sinceramente fiquei confuso.

Vou aguardar o Alexandre postar, ele pode ter visto de uma maneira diferente da minha e conseguido entender a solicitação.

[]s

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

 
Postado : 29/04/2015 5:27 am
(@edcronos)
Posts: 1006
Noble Member
 

Lorenzon

me desculpe, mas não tem como ficar adivinhado oq vc quer

a planilha postada não tem explicação de nada
e ainda está cheia de coisa que nada tem haver com a solicitação

particularmente eu não tenho paciência de ficar caçando oq faz oq, dentro de planilha que não foi eu que comecei

Ou se faz uma pergunta genérica e aguarda uma resposta genérica para tentar resolver por sí mesmo e assim aprender mais

Ou se dá informação adequada e condição para se solucionar o problema

ps. sei que sou o ultimo a poder dizer isso :P

Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.

"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"

 
Postado : 29/04/2015 6:40 am
Lorenzon
(@lorenzon)
Posts: 355
Reputable Member
Topic starter
 

Mauro,

Sem dúvida a dificuldade de intendido está apenas na comunicação que fiz.

Vamos lá, serei mais sucinto:

Obs: referimo-nos de um sistema de Administração de Despesas Pessoais.

Coluna E: nessa coluna registra-se o tipo da programação de pagamento, se é de ENTRADA ou SAÍDA, ou seja, se é renda ou despesa.

Coluna H: está as datas de pagamento das programações.

Coluna F: o valor das programações.

Com isso, faremos dois cálculos.

1° - Calcular o valor total das programações com de ENTRADA, que estiverem dentro do período estipulado no Textbox3 e Textbox4.

2º - Calcular o valor total das programações com de SAÍDA, que estiverem dentro do período estipulado no Textbox3 e Textbox4.

Veja o nome exemplo:

 
Postado : 29/04/2015 6:45 am
(@edcronos)
Posts: 1006
Noble Member
 

pq em vez de textbox não colocar combobox para varrer as datas existentes e ainda aproveitar um auto complete ?
assim não se corre o risco de se entrar datas erradas
e assim que se escolher as duas datas se ter o total
é apenas uma ideia

to um tempão tirando linhas em branco para poder le seu condigo de maneira continua

Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.

"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"

 
Postado : 29/04/2015 7:03 am
(@edcronos)
Posts: 1006
Noble Member
 

bem,
eu até estou tentando aprender para te ajudar,
nem é tão dificil assim

mas caso queira um adiantamento
http://stackoverflow.com/questions/1960 ... duct-issue

Private Sub Image23_Click()

pln = "bd"
LF = Sheet(pln).Cells(Sheet2.Rows.Count, "F").End(xlUp).Row
fator = "SAÍDA"
valores = "F2:F" & LF
fatorg = "E2:E" & LF
datini = "G2:G" & LF
datfim = "H2:H" & LF

'entradas
    TextBox6.Value = Application.WorksheetFunction.SUMPRODUCT((Sheet(pln).Range("F2:F" LF)*(E2:E17=$K1)*(G2:G17>=$K$3)*(H2:H17<=L3))
    'saidas Sheet2.Range("E1:E" & lastrow), ">=" & Sheet1.Range("C7").
        TextBox6.Value = _
        Application.WorksheetFunction.SUMPRODUCT((Sheet(pln).Range(valores))* _
        ((Sheet(pln).Range(fatorg=fator ))* _
        ((Sheet(pln).Range(datini & ">=" & TextBox3.Value))* _
        (Sheet(pln).Range(datfim & "<="  & TextBox4.Value)))

End Sub

claro que se alguem já souber é mais rapido
eu normalmente não faria assim

Somente é impossíveis até que alguém faça
A logica está presa na irracionalidade humana, e morta nos que se consideram donos da verdade.

"ALGUM MODERADOR ME EXPULSE DO FÓRUM POR FAVOR"

 
Postado : 29/04/2015 8:05 am
Página 1 / 2