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 todosSub 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 todosSub 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 todosSub 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?