Notifications
Clear all

Macro para Segmentar Diferentes Dados

4 Posts
2 Usuários
0 Reactions
1,054 Visualizações
 bcl
(@bcl)
Posts: 2
New Member
Topic starter
 

Olá, boa noite!

Tenho um banco de dados e preciso extrair um relatório dele, que seria a soma dos valores totais, após realizar a segmentação de dados.
Essa segmentação de dados é da coluna "quadras". Preciso fazer uma macro que filtre os dados dessa coluna de acordo com um intervalo, porém, esse filtro também tem que me permitir não considerar alguns dados dentre desse intervalo.

Exemplo: filtro das quadras 1 a 10, exceto quadras 8 e 9.

Como eu preciso gerar diferentes relatórios, preciso que os valores que determinam os filtros sejam células e não valores fixos.

Segue planilha modelo em anexo, para ajudar no entendimento da questão.

Entendo um pouco de macro e VBA. Tentei montar uma macro usando o Slicer, mas não consegui. Alguém pode me ajudar?

 
Postado : 28/05/2017 8:07 pm
(@osvaldomp)
Posts: 859
Prominent Member
 

Gravei a macro abaixo e acrescentei as células com os critérios.

Testei com B2 = 1, D2 = 5, B3 = 2 e D3 = 4, o filtro exibe as quadras 1, 3 e 5.

Sub Filtro()
  ActiveSheet.ListObjects("Tabela1").Range.AutoFilter Field:=4, Criteria1:= _
      ">=" & [B2], Operator:=xlAnd, Criteria2:="<=" & [D2]
  ActiveSheet.ListObjects("Tabela1").Range.AutoFilter Field:=4, Criteria1:= _
      "<>" & [B3], Operator:=xlAnd, Criteria2:="<>" & [D3]
End Sub

Osvaldo

 
Postado : 29/05/2017 11:18 am
 bcl
(@bcl)
Posts: 2
New Member
Topic starter
 

Gravei a macro abaixo e acrescentei as células com os critérios.

Testei com B2 = 1, D2 = 5, B3 = 2 e D3 = 4, o filtro exibe as quadras 1, 3 e 5.

Sub Filtro()
  ActiveSheet.ListObjects("Tabela1").Range.AutoFilter Field:=4, Criteria1:= _
      ">=" & [B2], Operator:=xlAnd, Criteria2:="<=" & [D2]
  ActiveSheet.ListObjects("Tabela1").Range.AutoFilter Field:=4, Criteria1:= _
      "<>" & [B3], Operator:=xlAnd, Criteria2:="<>" & [D3]
End Sub

Osvaldo, boa noite!

Você apresentou uma macro mais simples do que eu imaginava que seria, gostei! Porém, ela não está funcionando para intervalos do tipo quadras 2 a 4, excluindo a quadra 3. Ao fazer isso, ela mostra os dados das quadras 1 e 5 também.

Pelo que verifiquei, a macro executa a primeira linha, mas ao executar a segunda linha, ela desfaz o que já tinha feito na primeira linha. Sabe como podemos resolver isso?

 
Postado : 29/05/2017 8:53 pm
(@osvaldomp)
Posts: 859
Prominent Member
 

Porém, ela não está funcionando para intervalos do tipo quadras 2 a 4, excluindo a quadra 3. Ao fazer isso, ela mostra os dados das quadras 1 e 5 também.
Eu gravei uma macro com critérios casuais apenas como exemplo, obviamente ela não servirá para todas as situações que você precisa. Sugiro que você grave macros com os critérios que você precisa e depois coloque as macros aqui para ajustes, se necessário.

Sugestão - para responder clique em "Responder" que está abaixo da última postagem, só clique em "Citar" se necessário.

Osvaldo

 
Postado : 30/05/2017 4:51 am