Boa tarde, Leandro
Em linhas gerais, havendo um botão "Importar" um saída poderia ser:
Sub Importar_Click()
Dim wbMatriz As Workbook, wbBD As Workbook
Dim wssBD As Sheets
Set wbMatriz = ThisWorkbook
Set wbBD = Workbooks("Banco_de_Dados.xlsx")
Set wssBD = wbBD.Sheets
wssBD.Copy After:=wbMatriz.Sheets(wbMatriz.Sheets.Count)
End Sub
Considerações:
-Considerei que o código esteja rodando na pasta Matriz;
-Considerei que ambos os arquivos Matriz/Banco de Dados já estejam abertos na memória. Se não estiverem, daria erro (não tratado aqui) e teria que alterar passando a utilizar o método Workbooks.Open("Caminho...blá, blá, blá") na instrução Set wbBD...
-Considerei que não existem ainda planilhas em Matriz com o mesmo nome das que estão sendo importadas. Se existirem, o Excel copiará e usará um índice (2), (3)... para as novas cópias. Esse tratamento vc pode fazer depois se desejar.
-Vc tem um conflito de nomes de Intervalo que teria que resolver também, pois o Excel vai chiar. Há um intervalo de nome "Inervalo_Verde" tanto na Matriz como no BD, embora não seja tão crítico pois o Excel na hora exibe a opção de renomear o intervalo, se desejar.
Postado : 31/01/2017 2:26 pm