Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Qual a sintaxe no VBA para copiar o resultado de um filtro avançado para a primeira linha vazia?

A base de dados está em uma planilha "A" que é alimentada mensalmente, eu gostaria que o resultado do filtro avançado fosse copiado (copytorange) para a primeira linha fazia da outra planilha "B" que já tem os dados do mês anterior nas linhas acima.

1 resposta
solução!

Oi, Marcia, tudo bem?

Para copiar para a primeira célula vazia da outra planilha, podemos usar um For Eachque vai percorrer a coluna até encontrar a célula vazia por meio do comando IsEmpty. Com relação ao filtro avançado, precisamos definir o intervalo de busca, bem como os critérios do filtro e onde esse resultado aparecerá.

Um exemplo de código que pode te ajudar na construção do seu projeto está abaixo:

Sub CopiarCelula()
    Dim primeiraAba As Worksheet
    Dim sengundaAba As Worksheet
    Dim intervaloBusca As Range
    Dim criterioFiltro As Range
    Dim resultadoFiltroComCabecalho As Range

    ' Defina as planilhas
    Set primeiraAba = ThisWorkbook.Sheets("A") ' Substitua "A" pelo nome da sua planilha
    Set sengundaAba = ThisWorkbook.Sheets("B") ' Substitua "B" pelo nome da sua planilha
    
    ' Defina o intervalo de lista e critérios
    Set intervaloBusca = primeiraAba.Range("A1:C9")
    Set criterioFiltro = primeiraAba.Range("G1:I2")
    Set resultadoFiltroComCabecalho = primeiraAba.Range("E14:G14")
    intervaloBusca.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=resultadoFiltroComCabecalho, Unique:=False, criteriaRange:=criterioFiltro
    Set ResultadoFiltroSemCabecalho = primeiraAba.Range("E15:G15")
    
    ' Copia para a primeira linha vazia da segunda aba
    For Each cell In sengundaAba.Columns(1).Cells
        If IsEmpty(cell) = True Then
        
        ResultadoFiltroSemCabecalho.Copy Destination:=cell
        
        Exit For
        End If
    Next
    
End Sub

Todavia, vale ressaltar que como é um assunto externo aos cursos da Alura e que não tenho acesso ao cenário completo do projeto outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu problema.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!