Notifications
Clear all

Envio de Dados entre duas planilhas de Excel

10 Posts
2 Usuários
0 Reactions
2,160 Visualizações
(@jmagomez)
Posts: 56
Trusted Member
Topic starter
 

Prezados,

O meu objetivo é enviar os dados do arquivo comercializacao_fev_2013_região_resultados_macro para o arquivo GN_por Estados_Regiao no mês correspondente de fevereiro, por segmento.

Poderiam me ajudar com o desenvolvimento de uma macro para fazer este trabalho?

E esta macro poderia ter alguma flexibilidade? Pois queria que quando eu tivesse o arquivo comercializacao_mar_2013_região_resultados_macro, a macro desenvolvida transferisse os dados no mês correspondente de março do arquivo GN_por Estados_Região , por segmento.

Obrigado, José.

 
Postado : 01/04/2013 7:47 am
(@jmagomez)
Posts: 56
Trusted Member
Topic starter
 

Boa noite, Pessoal!

Alguém conseguiria me ajudar com a minha questão?

Abs, José.

 
Postado : 01/04/2013 7:43 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

Boa Noite!

Porque você não faz isso utilizando fórmulas. Por exemplo: para levar o valor do consumo industrial do Estado de Alagoas da planilha comercializacao_fev_2013_região_resultados_macro para o arquivo GN_por Estados_Regiao (célula B162), basta que você insira, na célula B162 a fórmula =[comercializacao_fev_2013_região_resultado_macro.xls]Consumo!$D$4.

E assim você pode fazxer com todos os outros valores das demais linhas. Dá um pouco mais de trabalho mas, uma vez feita, é pra sempre e, quando os valores dos demais meses forem lançados, automaticamente, já estarão em seus respectivos lugares.

 
Postado : 01/04/2013 7:58 pm
(@jmagomez)
Posts: 56
Trusted Member
Topic starter
 

Oi Wagner,

Acho que não se adapta, pois quando estiverem disponíveis os números de março e eu puxar a célula b162 para c162, não vai puxar os dados adequados. Além de não puxar da planilha de março e sim da planilha de março. Por isso, é interessante que haja uma macro fazendo esse trabalho e pulando uma célula para encontrar o mês adequado.

Mais uma vez, obrigado pela ajuda! E peço que continue me ajudando!

Abs, José.

 
Postado : 02/04/2013 8:34 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

jmagomez,

Boa Tarde!

Segue seus arquivos após o desenvolvimento do código VBA que grava os dados entre os dois arquivos.

Para testar, apague todos os dados de Fev/2013 (menos da coluna E
que contém fórmula), de cada uma das abas do arquivo GN e clique no botão Copiar Dados que criei na aba Base.

Alguns detalhes que devem ser observados para que o código funcione sem problemas:
1 - Você deve utilizar os dois arquivos que eu estou lhe encaminhando pois tive que fazer pequenas alterações (na forma) em ambos e o código lê esses dados que alterei tal e qual lá estão agora. Por Exemplo: o cabeçalho das colunas D até K do arquivo comercializacao. Tive que adaptar a nomenclatura das mesmas de modo a que ficassem idêntica a nomenclatura das suas respectivas abas no arquivo GN. E por aí vai...
2 - O código lê linhas e colunas da forma que estão dispostas em ambos os arquivos. Se esse layout for modificado, o código não funcionará ou funcionará de forma incorreta.
3 - Os nomes das abas devem ser preervados como estão e dos arquivos também. Para identificar o nome do arquivo "comercializacao", o código pega sempre o primeiro nome desse arquivo de maneira a evitar que, ao modificar o nome para outros meses, o código pare de funcionar. Assim, se o nome do arquivo começar com "comercializacao" o sistema validará e buscará as informações nele. Qual o cuidado? Ter aberto apenas o arquivo GN e 1 arquivo chamado comercializacao.
4 - Os dois arquivos devem estar abertos.

 
Postado : 03/04/2013 9:31 am
(@jmagomez)
Posts: 56
Trusted Member
Topic starter
 

Muito obrigado, Wagner!!

E se eu quisesse excluir o Piauí (PI) que está sem valores, na macro eu a redefiniria assim a partir da linha 32?

Else
If Cells(4, z).Value = "BR"
If Cells(4, z).Value = "PI" Then Exit For
End If

Abs, José.

 
Postado : 03/04/2013 11:44 am
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

jmagomez,

Boa Noite!

Para isso, altere a çlinha para esta:

If Cells(4, z).Value = "BR" Or Cells(4, z).Value = "PI" Then Exit For
 
Postado : 03/04/2013 4:59 pm
(@jmagomez)
Posts: 56
Trusted Member
Topic starter
 

Muito obrigado, Wagner!

Eu havia utilizado o AND, mas acredito que o OR é mais adequado!

Abs e mais uma vez, obrigado! E prometo voltar para tirar mais dúvidas!..rsrs..

 
Postado : 03/04/2013 7:59 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

De nada, amigo.

Sempre às ordens. Se eu souber...

 
Postado : 04/04/2013 5:01 am
(@jmagomez)
Posts: 56
Trusted Member
Topic starter
 

Muito obrigado, Wagner! E um ótimo dia para vc!

E tenho certeza que saberá sim!

Abs, José.

 
Postado : 04/04/2013 5:36 am