Página 1 de 1

DESAFIO !!! Consulta de datas em várias colunas macro ou vba

Enviado: 28 Jan 2018 às 23:10
por Mablove
Boa noite gente, preciso muito de ajuda. estou criando uma planilha com algumas atribuições em macro. Milha planilha tem cerca de 4 abas e em 3 delas possuo diversas colunas com diferentes datas. preciso construir uma consulta de datas em todas as abas e nas diversas colunas, que me resulte todos os resultados, se possível uma consulta entre duas datas (inicio e fim) ou um critério em que os resultados possuam mês e ano idênticos o da pesquisa. Já tentei de diversas formas mas não sei como fazer. ME AJUDEM POOOR FAVOOOR


Preciso que a planilha final fique assim:

Produto - Nome da planilha - Lote - Data(que esteja dentro do critério) -
xx xxxx xx xx/xx/yyyy

Re: Consulta de datas em várias colunas macro ou vba

Enviado: 30 Jan 2018 às 09:51
por alexandrevba
Bom dia!!

Segue um esboço para teste!
Agora é só implementar conforme sua necessidade.
Código: Selecionar todos
Public Sub AleVBA_6187()
'https://gurudoexcel.com/forum/viewtopic.php?f=12&t=6187
'Copia baseado em data de várias guias para uma guia resumo
Dim Ws As Worksheet, LR1 As Long, LR2 As Long
Dim lr As Long
Dim dDate1 As Long
Dim dDate2 As Long
Dim wsConsultas As Worksheet
Set wsConsultas = Worksheets("Consultas")
'Encontra a ultima linha de cada guia
lr = wsConsultas.UsedRange.Rows(UBound(wsConsultas.UsedRange.Value)).Row
'Verifica quais as datas como critério
dDate1 = DateValue(Format(wsConsultas.Range("O1"), "dd/mm/yyyy")) 'Digite a data Incial nesta célula
dDate2 = DateValue(Format(wsConsultas.Range("P1"), "dd/mm/yyyy")) 'Digite a data Final nesta célula
'Desliga a tela de atualização
Application.ScreenUpdating = False
'Limpa as células da guia para onde os dados são copiados
    With wsConsultas.Range(Cells(2, 1), Cells(lr, 12))
        .ClearContents
    End With
'Copia os dados das guias para a guia Consulta
    For Each Ws In ThisWorkbook.Worksheets
         If Ws.Name <> "Menu" And Ws.Name <> "Consultas" Then
            LR1 = ThisWorkbook.Worksheets("Consultas").Range("A" & Rows.Count).End(xlUp).Row + 1
            LR2 = Ws.Range("A" & Rows.Count).End(xlUp).Row
            ThisWorkbook.Worksheets("Consultas").Range("L" & LR1).Resize(LR2 - 1).Value = Ws.Name
            Ws.Range("A2:L" & LR2).Copy ThisWorkbook.Worksheets("Consultas").Range("A" & LR1)
         End If
     Next Ws
'Filtra os dados
    With wsConsultas
        .AutoFilterMode = False
        With .Range("A1:L1")
            .AutoFilter
            .AutoFilter Field:=4, Criteria1:=">=" & dDate1, Operator:=xlAnd, Criteria2:="<=" & dDate2
        End With
    End With
Application.ScreenUpdating = True
End Sub
Att

Consulta de datas em várias colunas macro ou vba

Enviado: 02 Fev 2018 às 21:06
por Mablove
OOi Alexandrevba, não consegui rodar o código com sucesso. está dando erro nessa linha:
ThisWorkbook.Worksheets("Consultas").Range("L" & LR1).Resize(LR2 - 1).Value = Ws.Name :(

Re: DESAFIO !!! Consulta de datas em várias colunas macro ou

Enviado: 05 Fev 2018 às 08:03
por alexandrevba
Bom dia!!

Se você verificou meu post anterior, eu disse favor adaptar!!

Preencha suas guias com dados, pois o código verifica o total de linhas de cada um das guias que precisa ser copiadas. Eu volto a dizer, favor adaptar!!!!!!!!!

Att