Página 1 de 1

Como Filtrar Dados de mais de uma Planilha?

Enviado: 14 Fev 2019 às 19:56
por gustavovedroni
Primeiramente Obrigado pela atenção!
Estou desenvolvendo uma planilha para filtrar dados de produção, porém as datas são separadas por planilhas e a macro que criei com filtro avançado não filtra mais do que 1 planilha de dados. Alguma ajuda? Ficarei grato por qualquer ajuda!
SEGUE LINK DA PLANILHA: ↓

Re: Como Filtrar Dados de mais de uma Planilha?

Enviado: 15 Fev 2019 às 08:01
por osvaldomp
Para duas planilhas somente utilize o código abaixo Se houver mais do que 2 planilhas convém aplicar um Loop.
Código: Selecionar todos
Sub lsFiltrarDadosV2()
' lsFiltrarDados Macro
' Atalho do teclado: Ctrl+f
    Sheets("Planilha1").Range("B3:H19").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("C8:I9"), CopyToRange:=Range("C15:I15"), Unique:=False
        
    Sheets("Planilha2").Range("B3:H19").AdvancedFilter Action:=xlFilterCopy, _
    CriteriaRange:=Range("C8:I9"), CopyToRange:=Cells(Rows.Count, 3).End(3)(2), Unique:=False
 
End Sub

Re: Como Filtrar Dados de mais de uma Planilha?

Enviado: 15 Fev 2019 às 14:04
por gustavovedroni
osvaldomp escreveu:Para duas planilhas somente utilize o código abaixo Se houver mais do que 2 planilhas convém aplicar um Loop.
Código: Selecionar todos
Sub lsFiltrarDadosV2()
' lsFiltrarDados Macro
' Atalho do teclado: Ctrl+f
    Sheets("Planilha1").Range("B3:H19").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("C8:I9"), CopyToRange:=Range("C15:I15"), Unique:=False
        
    Sheets("Planilha2").Range("B3:H19").AdvancedFilter Action:=xlFilterCopy, _
    CriteriaRange:=Range("C8:I9"), CopyToRange:=Cells(Rows.Count, 3).End(3)(2), Unique:=False
 
End Sub
Deu certo porem é um planejamento do mês inteiro sendo assim 22 guias, como eu aplico um loop? e outra, apareceu um problema, está filtrando junto o cabeçalho, assim replicando DATA - PRODUTO ... ETC.
SEGUE LINK DA PLANILHA: ↓

Re: Como Filtrar Dados de mais de uma Planilha?

Enviado: 16 Fev 2019 às 10:37
por osvaldomp
Anexei um arquivo como exemplo.
Código: Selecionar todos
Sub FiltraDadosV3()
 Dim critData, critLote As Long, i As Long, LR As Long
  Application.ScreenUpdating = False
  If [C7] <> "" Then Range("C7:I" & Cells(Rows.Count, 3).End(3).Row) = ""
  If [C4] = "" And [D4] = "" Then GoTo fim
  critData = Format(ActiveSheet.[C4], "dd/mm/yyyy"): critLote = ActiveSheet.[D4]
   For i = 2 To Sheets.Count
    With Sheets(i)
     .AutoFilterMode = False
     LR = .Cells(Rows.Count, 2).End(3).Row
     If [C4] <> "" Then .[B3].AutoFilter 1, critData
     If [D4] <> "" Then .[B3].AutoFilter 7, critLote
      If .Range("B3:B" & LR).SpecialCells(xlCellTypeVisible).Count > 1 Then
       .Range("B4:H" & .Cells(Rows.Count, 2).End(xlUp).Row).Copy
       ActiveSheet.Cells(Rows.Count, 3).End(3)(2).PasteSpecial xlValues
      End If
     .AutoFilterMode = False
    End With
   Next i
   [C6].Activate
fim:
  Application.ScreenUpdating = True
End Sub
dica - para responder clique em + Resposta abaixo da última postagem

Re: Como Filtrar Dados de mais de uma Planilha?

Enviado: 16 Fev 2019 às 13:21
por gustavovedroni
Muito bom me salvou demais. Ficou muito bem feito, parabéns! Só mais uma questão para dar como resolvido, teria como eu pegar pasta de trabalho de vários meses, Exemplo: Janeiro, planilha1,p2,p3... Fevereiro, p1,p2,p3... e assim consecutivamente e filtrar em 1 planilha?