Notifications
Clear all

Copiar de Livro para outro [Intrvl] Diferente

5 Posts
1 Usuários
0 Reactions
1,067 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite!!!

Pessoal, como faço para copiar os dados de um livro "Divisão" para "Master"....

O que preciso é pegar no livro "Divisão.xls" os intervalos de Plan1: "B2:B500", "F2:F500", "J2:J500" ..para o livro "Master.xls" os intervalos de Plan5: "B2:B500", "K2:K500", "T2:T500"..?

Obrigado!!!!!!!!!

Att..

 
Postado : 27/09/2011 7:29 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite chess

Ainda sou iniciante em VBA mas fiz esse exemplo p vc.
Baixe a planilha as duas planilhas e abra as duas.
Na planilha Divisão e clique no botão para testar e ver se é isto que vc quer.
Não se esqueça de habilitar as Macros.


E aqui baixe a planilha Master para usar o mesmo arquivo que eu usei no teste.
http://www.sendspace.com/file/8fj3z0

Dê retorno.

Um abraço.

 
Postado : 28/09/2011 3:35 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Patropi, para aprimorar seu aprendizado, utilizando os modelos que postou, podemos implementar e reduzir a Rotina Sub CopiarDvisao() da seguinte forma :

    Sub ImportarDados()
         Dim wsOrigem As Worksheet
         Dim wsDestino As Worksheet
         
        'Arquivo Destino, abrimos primeiro
        'Ajuste o caminho do mesmo
        Workbooks.Open Filename:="C:...Master.xls"
         
         'Arquivos e Abas de Origem e Destino
         Set wsOrigem = Workbooks("Dvisão.xls").Worksheets("Plan1")
         Set wsDestino = Workbooks("Master.xls").Worksheets("Plan5")
           
            With wsOrigem
                .Range("B2:B500").Copy Destination:=wsDestino.Range("B2")
                .Range("F2:F500").Copy Destination:=wsDestino.Range("K2")
                .Range("J2:J500").Copy Destination:=wsDestino.Range("T2")
            End With
       
       'Fecha o Arquivo Destino e Salva
        Workbooks("Master.xls").Close SaveChanges:=True
        
        MsgBox "Introdução de Dados Concluída"
    End Sub

Usando o Copy Destination, não é necessário usar o Select e depois copiar e Colar, enviamos direto para o endereços marcados.
Tambem não precisamos manter os dois arquivos abertos o tempo todo, primeiro abrimos, efetuamos as ações e depois fechamos, lógicamente a mesma ainda pode ser incrementada e manter o Destino Oculta e depois fecha-la, se esta for a intensão.

Faça os testes e veja como fica bem mais leve.

[]s

 
Postado : 28/09/2011 4:45 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite!!

Obrigado!!!!..Mauro, ficou perfeito!!!!!!!!! :lol:

Muito Obrigado!!!

At...

 
Postado : 28/09/2011 5:26 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite Mauro

Obrigado pela aula.

Eu fiquei em dúvida como determinar os intervalos para copiar, por isso resolvi gravar.
Se fosse um intervalo contínuo como A2: E200 até que eu saberia, mas como eram apenas algumas colunas ficou complicado.
Mas com a ajuda de vcs aos poucos eu vou aprendendo.
Como costumo sempre estudar os códigos postados no fórum , facilita muito quando fazem comentários detalhados.

Um abraço.

 
Postado : 29/09/2011 6:39 pm