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