Vba: como inserir uma linha com formatação


Você pode usar a seguinte sintaxe no VBA para inserir uma linha com o mesmo formato da linha acima dela:

 Sub insertRowWithFormatting()

ActiveCell.Offset(1).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrAbove
ActiveCell.EntireRow.Copy
ActiveCell.Offset(1).EntireRow.PasteSpecial xlPasteFormats

Application.CutCopyMode = False

End Sub

Esta macro específica irá inserir uma linha abaixo da célula atualmente selecionada com exatamente a mesma formatação das células na linha atualmente selecionada.

Nota : A linha Application.CutCopyMode = False especifica que o modo de corte e cópia deve ser desabilitado após a execução da macro.

O exemplo a seguir mostra como usar essa sintaxe na prática.

Relacionado: Como inserir várias linhas usando VBA

Exemplo: Insira uma linha com formatação em VBA

Digamos que temos o seguinte conjunto de dados no Excel que contém informações sobre vários jogadores de basquete:

Digamos que queremos inserir uma linha abaixo da linha 2 com exatamente a mesma formatação.

Podemos criar a seguinte macro para fazer isso:

 Sub insertRowWithFormatting()

ActiveCell.Offset(1).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrAbove
ActiveCell.EntireRow.Copy
ActiveCell.Offset(1).EntireRow.PasteSpecial xlPasteFormats

Application.CutCopyMode = False

End Sub

Podemos então selecionar a célula A2 e executar esta macro.

Quando executamos esta macro, recebemos a seguinte saída:

Observe que a nova linha que inserimos tem exatamente o mesmo formato das células da linha 2, incluindo cores e bordas das células.

Observe também que todas as outras linhas do conjunto de dados existente foram simplesmente empurradas para baixo.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

VBA: Como encontrar a última linha usada
VBA: Como contar o número de linhas no intervalo
VBA: Como contar o número de colunas usadas

Add a Comment

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