Página 1 de 1

[Resolvido] SQL/vba para importar dados com critério de datas

Enviado: Qui Jul 23, 2020 4:21 pm
por Mathmatic
Saudações amigos,

Obs: sou novato em macros .

Tenho um arquivo chamado "Importar" com uma macro chamada "Sub Importar_Dados", que importa os dados da planilha "dados para importar" do arquivo "Dados" .

encontrei esta macro na internet e ela está funcionando bem, ou seja, ela importa todos os dados da planilha "dados para importar" do arquivo "Dados" para dentro da "Plan1" do arquivo "Importar" .

Minha Necessidade:

Estou há dias tentando encontrar um jeito de adaptar esta macro "Sub Importar_Dados" para importar os dados com critérios de Data inicial e final, para a coluna A da planilha "dados para importar" .

desejo digitar numa Plan2 do arquivo "Importar" dois parâmetros de Datas: data início e data fim .

com isso a macro deverá "enxergar" estas duas Datas na Plan2 do arquivo "Importar" e então importar os Dados, filtrando assim estes parâmetros de Datas na coluna A da planilha "dados para importar", ou seja, a macro agora irá importar os dados obedecendo os parâmetros de Datas digitadas na Plan2 .

segue em anexo os dois arquivos citados neste tópico (e a macro também) .

desde já agradeço a ajuda dos amigos .

Re: SQL/vba para importar dados com critério de datas

Enviado: Sex Jul 24, 2020 11:12 am
por Reinaldo
Experimente:

Código: Selecionar todos

Sub Importar_Dados()
Dim Fichier As String, Destination As String, Requete As String
Dim strdtIni As String, strdtFim As String
strdtIni = Format(Sheets("Plan2").Range("A2").Value, "yyyy/mm/dd")
strdtFim = Format(Sheets("Plan2").Range("b2").Value, "yyyy/mm/dd")
 'Fichier = "C:\Users\Usuario\Documents\novo\Dados.xlsm"  'caminho do arquivo de busca
 'Requete = "SELECT * FROM [dados para importar$A1:K5000]"  'planilha e árae de busca

Fichier = "C:\Users\reina\Documents\Importar Dados\Dados.xlsm"  'caminho do arquivo de busca
 Requete = "SELECT * FROM [dados para importar$] where DATAS >= #" & strdtIni & "# and DATAS <= #" & strdtFim & "#"   'planilha e árae de busca
 Destination = "Plan1"  'planilha para colar os dados
 RequeteClasseurFerme Fichier, Destination, Requete
End Sub

Re: SQL/vba para importar dados com critério de datas

Enviado: Sex Jul 24, 2020 3:10 pm
por Mathmatic
senhor Reinaldo,

aplicando seu código nos arquivos que anexei aqui no fórum, funcionou muito bem. Logo mais tarde vou aplicar seu código nos meus arquivos originais (que são bem parcecidos, só que possuem mais colunas e mais linhas), mas acredito que tudo vai funcionar também... :)

tem um pequeno problema ocorrendo na célula L1 do arquivo "Importar" depois da importação dos Dados, pois está aparecendo ali nessa célula a palavra: F12. Não sei por que isso ocorre depois que importa os Dados ?

Não poderia acontecer na situação real, pois tenho fórmulas na sequência das colunas, ou seja, já na coluna seguinte, após os Dados importados, tenho várias fórmulas .

então essa palavra "F12" que ocorre na célula L1 do arquivo "Importar", poderá complicar meus cálculos seguintes .

teria como Não importar essa palavra F12 ?

desde já, agradeço por sua grande ajuda, amigo . :)

Re: SQL/vba para importar dados com critério de datas

Enviado: Sáb Jul 25, 2020 9:36 am
por Reinaldo
A importação leva em conta o chamado "usedRange" da planilha,
apesar de seu exemplo ter dados da coluna "A" até coluna K; portanto 11 colunas/campos; o usedRange da planilha considera ate a coluna "L", ou seja 12 colunas/campos. Como nessa coluna em "L1" não há valor explicito e é considerado um campo obrigatório o sistema automaticamente atribui a esse dado um valor, no caso F12 (Field 12).
E necessário efetuar os testes em sua planilha completa,mas creio que não haverá alterações de valores/formulas

[Resolvido] SQL/vba para importar dados com critério de datas

Enviado: Sáb Jul 25, 2020 1:13 pm
por Mathmatic
senhor Reinaldo, mais uma vez, muito obrigado por sua ajuda . :)

vou colocar tudo em prática agora. Um grande abraço . :)