Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas para Importar dados de Planilha Fechada usando Filtro Avançado via VBA.


kleberaq

Pergunta

Oi, boa noite! Tudo bem? Preciso de ajuda...

Minha planilha faz o download do arquivo: https://www.gov.br/anp/pt-br/assuntos/precos-e-defesa-da-concorrencia/precos/precos-revenda-e-de-distribuicao-combustiveis/shlp/mensal/mensal-municipios-desde-jan2022.xlsx/@@download/file/MENSAL_MUNICIPIOS-DESDE_Jan2022.xlsx
Após isso ele renomeia para: "D:\Usuario\Downloads\VALORES-COMBUSTIVEIS-MENSAL-MUNICIPIOS.xlsx"
Até este ponto, tudo funcionando.

Agora em diante, começa o problema...
O site sempre atualiza e tenho de colocar o novo link para download da planilha. E aí o problema começa, quando preciso atualizar isso no código VBA, pois preciso editar ele todo para importar os dados da planilha recém baixada e renomeada automaticamente.
Quando ele executa o código dá erro ao tentar importar as informações seguindo um filtro avançado.

Estou querendo importar os dados da planilha "VALORES-COMBUSTIVEIS-MENSAL-MUNICIPIOS.xlsx" pasta "MUNICÍPIOS - JAN 22 EM DIANTE", linha "A17:Z1048576".
E jogar os dados na planilha "Financeiro.xlsx" pasta "COMBUSTIVEL", linha "AB6:AZ6".
Seguindo os dados de filtros inseridos em: "B1:S2".



Link das planilhas(livre para edição):
https://drive.google.com/drive/folders/1DRY6bHVzZeJ1raDnNv8xMFkV16BXV-Fj?usp=sharing
BKP Link das planilhas(travado contra edição):
https://drive.google.com/drive/folders/1-PiyGESZzlZ0WEatR2jIxXex_VqE8t8l?usp=sharing


Código VBA feito mas com erro:

Sub FiltrarCombustivel()
'
' FiltrarCombustivel Macro
'

'
Application.ScreenUpdating = False
'Faz atualização dos dados, sem ficar mostrando na tela, de forma muito mais rápida e economiza processamento.

    'Range("B7").Select
    'Range(Selection, Selection.End(xlDown)).Select
    'Range(Selection, Selection.End(xlToRight)).Select
    'Selection.ClearContents
    'Range("B7").Select
    'Range(Selection, Selection.End(xlDown)).Select
    'Range(Selection, Selection.End(xlToRight)).Select
    'Selection.ClearContents
    
    Plan19.Range("AB7:XFD1048576").ClearContents
    'Plan19 só dá pra saber pela tela ao lado em "Projeto - VBAProject", neste caso o nome estava "Plan19 (Combustivel)", portanto Plan19.
    'Serve para limpar Células de um intervalo específico
    
    Workbooks.Open("D:\Usuario\Downloads\mensal-municipios-desde-jan2013.xlsx").Activate
    Range("A17").Select
    
    Windows("Financeiro.xlsm").Activate
    Workbooks.Open("D:\Usuario\Downloads\mensal-municipios-desde-jan2013.xlsx").Sheets( _
        "MUNICÍPIOS - DESDE JAN. DE 2013").Range("A17:Z1048576").AdvancedFilter Action _
        :=xlFilterCopy, CriteriaRange:=Range("AB1:AZ2"), CopyToRange:=Range("AB6:AZ6") _
        , Unique:=False

    ActiveWorkbook.Close savechanges:=False
Application.ScreenUpdating = True
'Faz atualização dos dados, sem ficar mostrando na tela, de forma muito mais rápida e economiza processamento.
End Sub

2022-08-18.png

2022-08-18 (1).png

2022-08-18 (2).png

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...