Vídeo recomendado
https://youtu.be/diWPPPhW-9E

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

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Mathmatic
Manda bem
Manda bem
Mensagens: 184
Registrado em: Seg Out 24, 2011 1:50 pm

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

Mensagem 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 .
Anexos
Importar Dados.rar
(100.34 KiB) Baixado 179 vezes
Editado pela última vez por Mathmatic em Sáb Jul 25, 2020 1:16 pm, em um total de 1 vez.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

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

Mensagem 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


Mathmatic
Manda bem
Manda bem
Mensagens: 184
Registrado em: Seg Out 24, 2011 1:50 pm

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

Mensagem 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 . :)
Editado pela última vez por Mathmatic em Sáb Jul 25, 2020 1:17 pm, em um total de 1 vez.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

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

Mensagem 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


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Mathmatic
Manda bem
Manda bem
Mensagens: 184
Registrado em: Seg Out 24, 2011 1:50 pm

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

Mensagem por Mathmatic »

senhor Reinaldo, mais uma vez, muito obrigado por sua ajuda . :)

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


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder