Como inserir uma linha usando vba no excel?

Neste tutorial, veremos como inserir uma linha ou coluna usando código VBA no Excel. Também exploraremos quais são as diferentes maneiras de escrever uma macro para isso.

Insira uma única linha usando VBA

Para inserir uma linha usando código VBA, você precisa usar a propriedade “Whole Row” com o método “Insert”. Com a propriedade de linha inteira, você pode referenciar a linha inteira usando uma célula e inserir uma nova linha nela. Por padrão, ele irá inserir uma única linha antes da célula que você mencionou.

insira uma única linha usando vba
  1. Primeiro, especifique uma célula usando o objeto range.
  2. Agora insira um ponto (.) para obter a lista de propriedades e métodos.
  3. Depois disso, selecione a propriedade “Whole Row” ou insira-a.
  4. Ao final, insira um ponto final (.) novamente e selecione o método “Inserir” ou digite-o.
 Range("A1").EntireRow.Insert

Seu código está pronto aqui para inserir uma linha. Agora, quando você executa este código, ele insere instantaneamente uma nova linha antes da célula A1.

Insira várias linhas

Existem duas maneiras de inserir várias linhas em uma planilha que encontrei. O primeiro é o mesmo método de inserção que usamos no exemplo acima.

Com isso, você precisa especificar um intervalo cujo número seja equivalente ao número de linhas que deseja inserir. Agora suponha que você queira inserir 5 linhas depois, neste caso você pode usar um código como este.

insira várias linhas

Para ser sincero, não achei esse método muito útil porque você precisa alterar o intervalo se quiser alterar o número de linhas.

Então aqui está o segundo método.

 Dim iRow As Long Dim iCount As Long Dim i As Long iCount = InputBox(Prompt:="How many rows you want to add?") iRow = InputBox _ (Prompt:="After which row you want to add new rows? (Enter the row number") For i = 1 To iCount Rows(iRow).EntireRow.Insert Next i

Ao executar este código, ele solicita que você insira o número de linhas que deseja adicionar e, em seguida, o número da linha onde deseja adicionar todas essas linhas. Ele usa um loop FOR (For Next) para repetir esse número de vezes e inserir linhas uma por uma.

Inserir linhas com base nos valores das células

Se quiser inserir linhas com base em um valor de célula , você pode usar o código a seguir.

 Dim iRow As Long Dim iCount As Long Dim i As Long iCount = Range("A1").Value iRow = Range("B1").Value For i = 1 To iCount Rows(iRow).EntireRow.Insert Next i

Quando você executa esta macro, ela pega o número de linhas da célula A1 e a linha onde você deseja adicionar linhas da célula B1.

Inserir uma linha sem formatação

Ao inserir uma linha onde a linha acima possui uma formatação específica, neste caso a linha também terá essa formatação automaticamente. E a maneira mais fácil de lidar com essa situação é usar formatos claros . Considere o seguinte código.

 Rows(7).EntireRow.Insert Rows(7).ClearFormats

Ao executar o código acima, ele insere uma nova linha antes da linha. Agora o que acontece, quando você insere uma linha antes da linha, essa nova linha se torna a linha, então a segunda linha de código limpa os formatos dessa linha.

Inserir uma linha copiada

Você também pode usar o mesmo método para copiar uma linha e inseri-la em outro lugar. Veja o código a seguir.

 Application.CutCopyMode = False With Worksheets("Data") .Rows(5).Copy .Rows(9).Insert Shift:=xlShiftDown End With Application.CutCopyMode = True

Adicione um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *