Página 1 de 1

Somar e exibir resultados conforme critério

Enviado: 17 Jan 2019 às 23:45
por Gleisom
Olá, pessoal!

Preciso de um a macro que calcula o total de vendas de cada funcionário e, com base num intervalo de filtro, exibir apenas as linhas dos funcionários cuja soma de suas vendas atenderam ao critério de filtro. Como não posso anexar a planilha original, estou anexando um modelo simplificado e, dentro dele, mais instruções.

Desde já agradeço muito a atenção de vocês!

Re: Somar e exibir resultados conforme critério

Enviado: 18 Jan 2019 às 03:24
por gfranco
Amigo,
veja se é isso que precisa.
* Se a resposta for útil, clique em obrigado.

Re: Somar e exibir resultados conforme critério

Enviado: 18 Jan 2019 às 07:29
por osvaldomp
Em E2 cole esta fórmula e arraste para baixo ~~~> =SOMA(B2:D2)
Código: Selecionar todos
Sub Filtrar()
 ActiveSheet.[A1:E1].AutoFilter 5, ">=" & [L1], xlAnd, "<=" & [N1]
End Sub
Código: Selecionar todos
Sub Limpar()
 ActiveSheet.AutoFilterMode = False
End Sub

Re: Somar e exibir resultados conforme critério

Enviado: 18 Jan 2019 às 13:56
por Gleisom
Muito obrigado galera!! Suas soluções me atende perfeitamente. Aproveitando um pouco mais do conhecimento de vocês, existe a possibilidade de a macro fazer também a soma, dispensando a tabela dinâmica ou a coluna auxiliar?

Re: Somar e exibir resultados conforme critério

Enviado: 18 Jan 2019 às 14:23
por osvaldomp
Código: Selecionar todos
Sub FiltrarV2()
 Range("E2:E" & Cells(Rows.Count, 4).End(3).Row) = "=SUM(A2:D2)"
 ActiveSheet.[A1:E1].AutoFilter 5, ">=" & [L1], xlAnd, "<=" & [N1]
End Sub

Sub LimparV2()
 ActiveSheet.AutoFilterMode = False: [E:E] = ""
End Sub
ou
Código: Selecionar todos
Sub OcultaLinhas()
 Dim k As Long
  For k = 2 To Cells(Rows.Count, 1).End(3).Row
   If Application.Sum(Cells(k, 2).Resize(, 3)) < [L1] Or Application.Sum(Cells(k, 2).Resize(, 3)) > [N1] Then Rows(k).Hidden = True
  Next k
End Sub

Sub ReexibeLinhas()
 Rows.Hidden = False
End Sub

Re: Somar e exibir resultados conforme critério

Enviado: 19 Jan 2019 às 11:53
por Gleisom
Show de bola Osvaldo! Perfeito! Muito obrigado! Abraço!