none
Macro para copiar e colar em outra planilha. RRS feed

  • Pergunta

  • Boa tarde,

    Preciso de um Macro que copie um intervalo (A6:B250) de uma planilha (PlanOrigem) e cole na primeira linha VAZIA (Serão nas colunas A e B também, porém ele terá que fazer uma varredura até encontrar uma linha vazia) de outra planilha (PanDestino).

    Exemplo:

    PlanOrigem:

    Coluna A1: Leonardo
    Coluna B1: 1.000,00

    PlanDestino
    Coluna A1: José

    Coluna A2: Pedro
    Coluna A3: <vazia> COLE AQUI o nome "Leonardo"

    Coluna B1: 800,00
    Coluna B2: 1.200,00
    Coluna B3: <vazia>  COLE AQUI o valor "1.000,00"

    Apenas uma observação: as planilhas estão em arquivos diferentes. 

    PlanOrigem: Aba: Origem
    PlanDestino: Aba: Destino

    segunda-feira, 23 de dezembro de 2013 15:02

Respostas

  • Sub fnc()
      Dim wkbOrigem As Excel.Workbook
      Dim wksOrigem As Excel.Worksheet
      Dim wkbDest As Excel.Workbook
      Dim wksDest As Excel.Worksheet
      Dim lngLast As Long
      
      'Abre pastas de trabalho e planilhas.
      'Altere os caminhos e nomes de planilhas para adequar a seu caso.
      Set wkbOrigem = Workbooks.Open("c:\caminho\Origem.xlsx")
      Set wksOrigem = wkbOrigem.Worksheets("PlanOrigem")
      Set wkbDest = Workbooks.Open("c:\caminho\Dest.xlsx")
      Set wksDest = wkbDest.Worksheets("PlanDest")
      
      'Descobre a última linha da planilha de destino
      With wksDest
        lngLast = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
      End With
      
      wksOrigem.Range("A6:B250").Copy wksDest.Cells(lngLast, "A")
      'Se quiser colar valores:
      'wksOrigem.Range("A6:B250").Copy
      'wksDest.Cells(lngLast, "A").PasteSpecial Paste:=xlPasteValues
      
      wkbOrigem.Close SaveChanges:=False
      wkbDest.Close SaveChanges:=True
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    terça-feira, 24 de dezembro de 2013 10:52
    Moderador