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