Copie células da linha ActiveCell para uma planilha de banco de dados usando VBA no Microsoft Excel

Anonim

No Microsoft Excel, podemos copiar células da linha da célula ativa para uma planilha específica. Neste artigo, usaremos o código VBA para transferir dados de cada planilha e mesclar os dados em uma planilha. Vamos adicionar uma planilha mestre na pasta de trabalho e salvar os dados do intervalo especificado em uma planilha.

Os códigos de exemplo serão copiados para uma planilha de banco de dados com o nome Plan2. Cada vez que executamos a macro, as células serão colocadas abaixo da última linha com dados após a última coluna na planilha2. Esta macro irá copiar as células da coluna A, D do ActiveCell.

A seguir está a imagem dos dados de amostra:

Para copiar células da linha da célula ativa para a Planilha2; precisamos seguir as etapas abaixo para lançar o editor VB:

  • Clique na guia Desenvolvedor
  • No grupo Código, selecione Visual Basic

  • Clique em Inserir e depois em Módulo

  • Isso criará um novo módulo
  • Insira o seguinte código no Módulo Padrão
Sub CopyCells () Dim sourceRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow (Sheets ("Sheet2")) + 1 Defina sourceRange = Sheets ("Sheet1"). Cells (_ ActiveCell.Row, 1) .Range ("A1: D1") Defina destrange = Sheets ("Sheet2"). Range ("A" & Lr) sourceRange.Copy destrange End Sub 
Sub CopyCellsValues ​​() Dim sourceRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow (Sheets ("Sheet2")) + 1 Definir sourceRange = Sheets ("Sheet1"). Cells (_ ActiveCell.Row, 1) .Range ("A1: D1") Com sourceRange Defina destrange = Sheets ("Sheet2"). Range ("A" _ & Lr) .Resize (.Rows.Count, .Columns.Count) End With destrange.Value = sourceRange.Value End Sub 
Função LastRow (sh As Worksheet) Em erro Resume Next LastRow = sh.Cells.Find (What: = "*", _ After: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False) .Row On Error GoTo 0 End Function 
Função Lastcol (sh As Worksheet) On Error Resume Next Lastcol = sh.Cells.Find (What: = "*", _ After: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False) .Column On Error GoTo 0 End Function 

  • Para verificar o código VBA acima; adicione dados no intervalo “A1: D1” e, em seguida, execute a macro pressionando a tecla de atalho F5
  • Os dados armazenados no intervalo especificado serão copiados para a "Folha2" começando em A1

  • Se executarmos esta macro novamente; os dados serão salvos na próxima linha; consulte a imagem abaixo:

  • Podemos alterar o intervalo na macro acima que atenda aos nossos requisitos

Conclusão: Com a macro acima, podemos copiar células da linha da célula ativa para uma nova planilha usando o código VBA.

Se você gostou de nossos blogs, compartilhe com seus amigos no Facebook. E você também pode nos seguir no Twitter e no Facebook.

Gostaríamos muito de ouvir de você, diga-nos como podemos melhorar, complementar ou inovar nosso trabalho e torná-lo melhor para você. Escreva-nos no site de e-mail