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".
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
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
Pergunta
kleberaq
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
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.