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
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 28/09/2011 4:45 pm