none
Copiar e Colar com três critérios RRS feed

  • Pergunta

  • Olá pessoal , preciso de vba quando executado copie as informações de Pasta A / Plan (1) coluna D e cole em Pasta B / Plan (1) D3:FN509 respeitando os seguintes critérios entre:

    1° - Pasta B / plan (1) C3:C509 e Pasta A / Plan (1) C7:C46 ;

    2° - Pasta B / plan (1) D1:FN1 e Pasta A / Plan (1) C4 ;

    3° - Pasta B / plan (1) D2:FN2 e Pasta A / Plan (1) D4 ;

    Como pretendo utilizar essas Pastas, em Pasta A / plan (1) na coluna D cadastrarei valores referentes as produtos na coluna C, preciso imprimir essa planilha e copiar os seus dados em Pasta B / plan (1) segundo os critérios acima e apagar os dados para a o próximo cadastro.

    Agradeço por qualquer ajuda.

    segunda-feira, 13 de julho de 2015 14:07

Respostas

  • Bom dia Marcelo, 

    Pesquisando no fórum, encontrei o código abaixo, do Felipe costa Gualberto, que cola valores entre planilhas.

    Basta que você adapte conforme a sua necessidade, lembrando de alterar os nomes de guias e arquivos.

    Para utilizar o código abaixo, acesse o editor do Visual Basic, apertando ALT + F11, em seguida, clique nos menus Inserir -> Módulo e cole o código abaixo

    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

    Existem muitos tópicos antigos no fórum que endereçam esse tema:

    https://social.msdn.microsoft.com/Forums/pt-BR/home?forum=excelpt%2Cvbapt%2Caccesspt%2Cwordpt&filter=alltypes&sort=relevancedesc&brandIgnore=True&filter=alltypes&searchTerm=copiar+valores+entre+planilhas

    Qualquer dúvida, deixe nos saber

    terça-feira, 14 de julho de 2015 11:40

Todas as Respostas

  • Bom dia Marcelo, 

    Pesquisando no fórum, encontrei o código abaixo, do Felipe costa Gualberto, que cola valores entre planilhas.

    Basta que você adapte conforme a sua necessidade, lembrando de alterar os nomes de guias e arquivos.

    Para utilizar o código abaixo, acesse o editor do Visual Basic, apertando ALT + F11, em seguida, clique nos menus Inserir -> Módulo e cole o código abaixo

    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

    Existem muitos tópicos antigos no fórum que endereçam esse tema:

    https://social.msdn.microsoft.com/Forums/pt-BR/home?forum=excelpt%2Cvbapt%2Caccesspt%2Cwordpt&filter=alltypes&sort=relevancedesc&brandIgnore=True&filter=alltypes&searchTerm=copiar+valores+entre+planilhas

    Qualquer dúvida, deixe nos saber

    terça-feira, 14 de julho de 2015 11:40
  • Bom dia, me desculpem a demora, somente hoje consegui pensar nessa planilha e buscar o fórum para ver .

    Agradeço pela dica, vou procurar no forum sem encontro como fazer a cópia e colar respeitando os três critérios.

    Obrigado pela ajuda.

    Quando conseguir a solução posto a vba.

    sábado, 15 de agosto de 2015 15:12