Logo Hardware.com.br
João Paulo Galdino
João Paulo G... Novo Membro Registrado
1 Mensagem 0 Curtidas

VBA Excel: Como abrir um (ou vários) arquivos a partir do VBA?

#1 Por João Paulo G... 27/09/2016 - 19:04
Boa noite pessoal, tudo certo?

Por motivos de trabalho, estou tentando facilitar a vida da minha equipe.

Nossa situação é a seguinte:
- Temos um equipamento que gera dados de temperatura, tempo, velocidade, potência e outras variáveis;
- Este equipamento cria um arquivo .xls com estas variáveis. Este arquivo fica armazenado na pasta do pc;
- Atualmente, abrimos arquivo por arquivo, copiamos os resultados em uma nova pasta de trabalho, na primeira planilha e tratamos os dados da seguinte forma:

- Na Plan1 fica os dados brutos copiados do arquivo;
- Na Plan2 copiamos apenas a Hora, Temperatura, Velocidade e Potência. Porém, serão calculados Tempo, Frequência e Torque, explicados posteriormente;
- calcular o tempo com base no registro do equipamento (ele registra a cada segundo, mas em formato de hora, sendo necessário fazer uma subtração contínua e fixar a primeira linha da coluna HORA), na PLan2;
- Calcular a frequência com base na velocidade (Velocidade/60), na Plan2;
- Calcular o torque, dependente da potência e frequência (Torque = Potência / 2 * 3,14 * Frequência), na Plan2;

Com estes dados, criamos uma Plan3 para gerar gráficos de dispersão (Temperatura vs Tempo) / (Torque vs Tempo).

Temos também duas etapas de procedimento (etapa1 e etapa2), em que são gerados dois arquivos (um para etapa1 e outro para etapa2);

Até ai tudo bem fazer na mão com apenas 1 amostra. Mas tratamos de 5 a 10, o que leva a uma grande perda de tempo;

Outro detalhe: Seria necessário habilitar a macro para nomear a planilha com o nome da amostra (copiando os dados para ela). Por exemplo: A Plan1 tem os dados brutos da amostra1 - Nomear com Amostra1 - DadosB. Plan2 tem o tratamento - Nomear com Amostra1 - TratD. Plan3 tem os gráficos da amostra1 - Amostra1 - Gráficos.

Basicamente seria isso. A ideia principal é poder selecionar vários arquivos do diretório, tendo, por exemplo, 10 amostras na pasta de trabalho, diversificadas em cada planilha, conforme exemplificado acima (Amostra1 - DadosB - TratD - Gráficos) - (Amostra2 - DadosB - TratD - Gráficos) e assim por diante, de acordo com cada arquivo aberto.

Cheguei a fazer por command button, mas ele busca em especifico um arquivo, o que não é legal, pois teria que ficar modificando o nome dos resultados sempre.

Envio dois anexos: Um no qual consegui fazer a seleção de qualquer arquivo, mas que não copia os dados do equipamento coerentemente, deixando os espaçados por vírgula, mas o ideal seria deixá-los em cada coluna (Ex: Hora, Temperatura, Velocidade, Potência, etc). Nesta pasta, não consegui nomear as planilhas e nem tratar os dados e gráficos conforme explicado. (Este arquivo é o Importação.xslm ... um exemplo de resultado para importação encontra-se no arquivo Teste.csv);

Outro (arquivo LerArquivoCSV) que fiz por command button, especificando um arquivo de teste (Teste2.txt), que gerou os resultados, mas perda de tempo do mesmo jeito devido a mudança de nomes e várias amostras, além de que seria necessário transformação o .xls do equipamento em .txt. Além do que, não consegui adicionar mais de um arquivo por pasta de trabalho, o que não permite realizar análise comparativa! Nesta planilha está mais claro a divisão da nomeação.

É isso pessoal, espero que tenha ficado claro! Qualquer coisa, comentem, ok?

Anexos

Marcelo G Prudencio
Marcelo G Pr... Geek Registrado
1K Mensagens 227 Curtidas
#2 Por Marcelo G Pr...
28/09/2016 - 20:42
O ideal é ter uma planilha matriz onde graficos e calculos fossem permanentes, o restante da pra fazer com VBA

Criar Graficos e inserir formulas de calculos pelo vba alem de desnecessario, é bastante trabalhoso.
Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho." - Autor Desconhecido
Simplifica que simples fica. - Nicole Tomazella.
"O Simples é Sempre Melhor Que o Complicado" - Jorge Paulo Lemann.
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal