Usuário com melhor resposta
Macro para copiar e Colar em outro arquivo

Pergunta
-
Prezados,
Gostaria de uma macro para copiar (uma área específica) os dados de um arquivo chamado "Registro_Saidas2.8" , planilha "Relatório" para outro arquivo chamado "Financeiro2.8", planilha "Relatório" (numa mesma área específica de tamanho idêntico).
Agradeço muito,
Marco Antonio.
Marco Antonio.
Respostas
-
Segue exemplo, altere os valores variáveis, intervalo e demais dados de acordo com seu cenário.
A macro copiará os dados do Pasta de trabalho "Financeiro2.8" definido na variável fileName. Coloque o caminho (diretório) correto do respectivo arquivo.
E Cole o codigo abaixo em um módulo padrão da Pasta de Trabalho Registro_Saidas2.8 e salve com a extensão *.xlsm
Sub Copiar_dados_para_de_Outra_Pasta() Dim fileName As String Dim xlObj As Object Dim rng As Range Dim winCount As Integer ' define o diret. e arquivo a variavel: ALTERE O CAMINHO: fileName = "C:\Users\NOME_DO_USARIO\Desktop\Financeiro2.8.xlsx" ' verifica se existe o diretorio e arquivo: If VBA.Dir(fileName, vbDirectory) = "" Then MsgBox (fileName & " não existe! Veririque!"), vbCritical, "Verificando Arquivo" Exit Sub End If ' cria o objeto Set xlObj = GetObject(fileName) ' ajusta o intervalo de EstaPasta_de_trabalho da Planilha(aba) ativa: Set rng = ThisWorkbook.Sheet("Relatório").Range("A1:G20") 'torna PLANILHA2 visivel winCount = xlObj.Parent.Windows.Count() xlObj.Parent.Windows(winCount).Visible = True ' envia os dados do intervalo definido abaixo: xlObj.Sheets("Relatório").Range("A1:G20").Value = rng.Value 'torna EstaPasta_de_trabalho visivel xlObj.Application.Visible = True ' Salva e fecha e PLANILHA2: xlObj.Close savechanges:=True Set xlObj = Nothing End Sub
Click em propor como resposta se foi util a voce. ricardodm@outlook.com.br
- Editado Ricardo Vba terça-feira, 27 de fevereiro de 2018 00:21
- Marcado como Resposta Marco1226 quinta-feira, 1 de março de 2018 18:25
Todas as Respostas
-
Segue exemplo, altere os valores variáveis, intervalo e demais dados de acordo com seu cenário.
A macro copiará os dados do Pasta de trabalho "Financeiro2.8" definido na variável fileName. Coloque o caminho (diretório) correto do respectivo arquivo.
E Cole o codigo abaixo em um módulo padrão da Pasta de Trabalho Registro_Saidas2.8 e salve com a extensão *.xlsm
Sub Copiar_dados_para_de_Outra_Pasta() Dim fileName As String Dim xlObj As Object Dim rng As Range Dim winCount As Integer ' define o diret. e arquivo a variavel: ALTERE O CAMINHO: fileName = "C:\Users\NOME_DO_USARIO\Desktop\Financeiro2.8.xlsx" ' verifica se existe o diretorio e arquivo: If VBA.Dir(fileName, vbDirectory) = "" Then MsgBox (fileName & " não existe! Veririque!"), vbCritical, "Verificando Arquivo" Exit Sub End If ' cria o objeto Set xlObj = GetObject(fileName) ' ajusta o intervalo de EstaPasta_de_trabalho da Planilha(aba) ativa: Set rng = ThisWorkbook.Sheet("Relatório").Range("A1:G20") 'torna PLANILHA2 visivel winCount = xlObj.Parent.Windows.Count() xlObj.Parent.Windows(winCount).Visible = True ' envia os dados do intervalo definido abaixo: xlObj.Sheets("Relatório").Range("A1:G20").Value = rng.Value 'torna EstaPasta_de_trabalho visivel xlObj.Application.Visible = True ' Salva e fecha e PLANILHA2: xlObj.Close savechanges:=True Set xlObj = Nothing End Sub
Click em propor como resposta se foi util a voce. ricardodm@outlook.com.br
- Editado Ricardo Vba terça-feira, 27 de fevereiro de 2018 00:21
- Marcado como Resposta Marco1226 quinta-feira, 1 de março de 2018 18:25
-