Início
» ESCRITÓRIO MS
»
Como usar VBA para inserir linhas no Excel: 3 métodos confiáveis
Como usar VBA para inserir linhas no Excel: 3 métodos confiáveis
Para inserir linhas no Excel com VBA, use o Insertmétodo em uma linha da planilha. Os três exemplos abaixo mostram como adicionar uma ou várias linhas em branco, inserir uma cópia de uma linha existente e criar uma linha em branco sem formatação herdada. Cada macro tem como alvo uma planilha chamada Data; substitua esse nome pelo nome exato da guia na sua pasta de trabalho.
Passo 1: Prepare a planilha e abra o editor VBA.
Use a versão para desktop do Excel. O Excel para a Web pode abrir uma pasta de trabalho que contenha macros, mas não pode criar, editar ou executar macros VBA. Se a sua pasta de trabalho contiver dados importantes, salve uma cópia de segurança antes de executar o código, pois a inserção de linhas desloca as linhas para baixo do ponto de inserção.
No Windows, pressione Alt+F11 para abrir o Editor do Visual Basic (VBE). Você também pode selecionar Desenvolvedor > Visual Basic . No VBE, selecione Inserir > Módulo e cole uma macro no módulo em branco. As instruções do VBE da Microsoft mostram o mesmo fluxo de trabalho com o módulo.
Abra um módulo VBA padrão no Editor do Visual Basic para adicionar a macro.
Passo 2: Escolha um dos três métodos de inserção de linhas.
Método 1: Insira uma ou mais linhas em branco
Esta macro insere uma linha inteira da planilha acima da linha atual (linha 4). O Shift:=xlDownargumento instrui o Excel a mover as células existentes para baixo para liberar espaço. A documentação de referência do método Range.Insert descreve as opções de deslocamento e formatação.
Sub InsertOneRow()
ThisWorkbook.Worksheets("Data").Rows(4).Insert Shift:=xlDown
End Sub
Para inserir duas linhas a partir da linha 3, utilize um intervalo de linhas:
Sub InsertTwoRows()
ThisWorkbook.Worksheets("Data").Rows("3:4").Insert Shift:=xlDown
End Sub
As linhas 3 e 4 são inseridas e as linhas que estavam lá são movidas para baixo. Altere os números das linhas para escolher onde as novas linhas começam e quantas adicionar. A ThisWorkbookreferência significa que a macro deve estar armazenada na pasta de trabalho que você deseja modificar.
A inserção das linhas 3 e 4 cria um espaço de duas linhas e desloca os registros existentes para baixo.
Método 2: Inserir uma cópia de uma linha existente
Use esta versão quando a nova linha precisar repetir os valores, fórmulas e formatação de uma linha existente. Primeiro, ela cria um espaço na linha 6 e, em seguida, copia a linha 2 para esse novo espaço. A linha 2 original permanece onde está. A Microsoft documenta o argumento opcional de destino em sua referência do método `Range.Copy` .
Sub InsertCopyOfRow()
With ThisWorkbook.Worksheets("Data")
.Rows(6).Insert Shift:=xlDown
.Rows(2).Copy Destination:=.Rows(6)
End With
End Sub
Substitua ` 2<número da linha de origem>` pelo número da linha de origem e ` 6<linha onde a duplicata deve aparecer>`. Como a linha inteira é copiada, revise as fórmulas e referências na cópia inserida antes de utilizá-la.
A linha alfa copiada aparece na linha 6; a linha original permanece na linha 2.
Método 3: Inserir uma linha sem copiar a formatação
O Excel pode transferir a formatação de uma linha adjacente para uma linha inserida. Insira a linha e, em seguida, use ClearFormats-a para remover essa formatação:
Sub InsertUnformattedRow()
With ThisWorkbook.Worksheets("Data")
.Rows(3).Insert Shift:=xlDown
.Rows(3).ClearFormats
End With
End Sub
Isso limpa a formatação da linha da planilha inserida. Não exclui valores em outras linhas. A documentação do ClearFormats da Microsoft descreve o método.
ClearFormats remove a formatação de célula herdada da linha inserida.
Passo 3: Execute a macro e verifique o resultado.
Retorne ao VBE, posicione o cursor em qualquer lugar dentro do procedimento que deseja executar e pressione F5 . Você também pode retornar ao Excel e usar Desenvolvedor > Macros , selecionar o nome da macro e escolher Executar . Consulte o guia da Microsoft sobre como executar uma macro no Excel para obter informações sobre as opções disponíveis.
Verifique se a(s) linha(s) esperada(s) foram inseridas na planilha desejada antes de salvar. Se você quiser manter o código VBA na pasta de trabalho, salve-a como uma Pasta de Trabalho Habilitada para Macros do Excel (.xlsm) ; salvar como um .xlsxarquivo comum não preserva as macros VBA. A Microsoft explica isso em suas instruções para salvar macros . Execute macros somente de fontes confiáveis e siga a política de segurança de macros da sua organização.
Problemas comuns
"Índice fora do intervalo": O nome da planilha no código não corresponde exatamente ao nome da guia. Atualize "Data", incluindo espaços, se houver.
As linhas aparecem na planilha errada: O código usa ThisWorkbook, que se refere ao arquivo que contém a macro. Armazene o módulo na planilha que você pretende editar.
Nada funciona em um navegador: abra o arquivo no Excel para desktop; macros VBA não podem ser executadas no Excel para a Web. Consulte as diretrizes de VBA do Excel para a Web da Microsoft .
Estes exemplos inserem linhas inteiras da planilha. Se os dados forem uma tabela do Excel e você quiser adicionar um registro à tabela, use o ListRows.Addmétodo da tabela para que a nova entrada pertença à tabela.