none
Macro para copiar e Colar em outro arquivo RRS feed

  • 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.

    segunda-feira, 26 de fevereiro de 2018 22:24

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
    terça-feira, 27 de fevereiro de 2018 00:10

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
    terça-feira, 27 de fevereiro de 2018 00:10
  • Muito obrigado!

    Marco Antonio.

    quarta-feira, 28 de fevereiro de 2018 14:56