Notifications
Clear all

[Resolvido] Variável na importação de arquivo .csv

8 Posts
3 Usuários
3 Reactions
1,459 Visualizações
Bautto
(@bautto)
Posts: 70
Estimable Member
Topic starter
 

Colegas boa tarde.

Tenho arquivos .csv, que carrego mensalmente de uma base de dados para utilizar em planilhas.

Gravei uma macro para fazer a importação e transformação dos dados via PowerQuery, que está no módulo 1 do arquivo disponibilizado no sendspace.

Como uso os arquivos mensalmente e eles veem identificados com "arquivo_aaaamm", criei uma variável para que seja digitado o mês de referência.

Copiei a rotina gravada na macro do módulo 1 para o módulo 2, com essa variável, mas em alguns comandos acusa erro, não fazendo a substituição.

Não consegui fazer com que ela funcionasse e por isso peço auxilio aos colegas mais experientes nesse assunto.

Agradeço antecipadamente qualquer sugestão.

Inseri o link, pois o arquivo é muito grande.

Grato.

https://www.sendspace.com/file/s0qam4

 
Postado : 16/02/2022 1:01 pm
Bautto
(@bautto)
Posts: 70
Estimable Member
Topic starter
 

Colegas, será que alguém poderia me dar uma forcinha nesse tópico? 🤔 🤔 🤔 🤔 

Agradeço a atenção...

 
Postado : 22/02/2022 10:10 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

@bautto,

Boa tarde!

Infelizmente, muitos usuários não conseguem acessar esses sites de compartilhamento de arquivos, principalmente de redes corporativas profissionais (meu caso).

Se possível, amigo, faça uma redução dos seus dados (deixe com poucas linhas. Tipo umas 5 linhas) e anexe aqui o próprio arquivo para podermos rodar, depurar e verificar o que está ocorrendo.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 22/02/2022 1:56 pm
teleguiado reacted
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Não analisei totalmente seu código, @Bautto, mas acredito que o problema principal está em todos os pontos em que vc faz concatenações com a variável MesRef.

Se vc deixar ela entre aspas, junto com as outras palavras, ela não retornará nenhum valor, vai retornar o texto do nome da própria variável tal qual já está.

Além disso, diferentemente de lá no Excel, no VBA é obrigatório deixar um espaço em branco antes e depois do operador de concatenação "&".

Por exemplo, onde vc escreveu 

ActiveWorkbook.Queries.Add Name:="lamina_fi_&MesRef", Formula:= _....

Como a variável MesRef está entre aspas ("lamina_fi_&MesRef"), isso vai retornar lamina_fi_&MesRef ao invés de lamina_fi_202201.

O certo seria assim:

ActiveWorkbook.Queries.Add Name:="lamina_fi_" & MesRef, Formula:= _

Outro exemplo:

Errado: .CommandText = Array("SELECT * FROM [lamina_fi_&MesRef]") 

Certo:.CommandText = Array("SELECT * FROM [lamina_fi_" & MesRef & "]")

 

Note inclusive o espaço antes e após o E Comercial.

 Tem que alterar em todos os pontos em que isso acontece. Fiz isso aqui e abriu normalmente.

 
Postado : 22/02/2022 8:27 pm
teleguiado reacted
Bautto
(@bautto)
Posts: 70
Estimable Member
Topic starter
 

@edsonbr , Boa tarde.

Desculpem a demora, mas assim que postei o tópico, viajei para o exterior e só retornei agora...
Retomando os serviços, ainda não pude adotar sua orientação, Edson.
Agradeço seu interesse e tempo em me explicar.
Vou adotar o procedimento.
Muito obrigado.

 
Postado : 02/06/2022 5:45 pm
Bautto
(@bautto)
Posts: 70
Estimable Member
Topic starter
 

@wagner-morel-vidal-nobre , Boa tarde.
Desculpem a demora, mas assim que postei o tópico, viajei para o exterior e só retornei agora...
Wagner, adotei esse procedimento em razão de a rotina ser muito longa e não ter conseguido identificar a causa do erro.
Minha intenção foi de fornecer todo o material para possibilitar melhor análise. Desculpe se não ajudei muito nisso.
Agradeço seu interesse e atenção.
Muito obrigado e grande abraço.

 
Postado : 02/06/2022 5:50 pm
Bautto
(@bautto)
Posts: 70
Estimable Member
Topic starter
 

Edson, boa tarde.

Após sua orientação, analisei a fiz os ajustes na rotina. Apanhei bastante em razão da grande quantidade de inserções em texto em um mesmo comando, me perdendo às vezes com as aspas...

Mas quero novamente agradecer o apoio. A rotina funcionou muito bem.

Estou encerrando o tópico.

Grato e grande abraço. Também ao Wagner, pelo interesse.

 
Postado : 15/06/2022 5:44 pm
EdsonBR reacted