Eu simplesmente preciso alterar a fonte de uma linha após a última linha da tabela + 2 linhas para células de ("A: M"), mas não sei como escrever isso no código VBA... Eu escrevi a última seção no código abaixo, mas infelizmente estou errado
alguma sugestão por favor
Sub Addnewrow()
Dim lo As ListObject
Dim newRow As ListRow
Dim cpyRng As Range
Set lo = Range("Data").ListObject
Set newRow = lo.ListRows.Add
With newRow
.Range(12).FillDown
With Range(LastRow + 2)
.Font.Size = 12
.Font.Name = "Tahoma"
.Font.Bold = True
End With
End Sub
Em vez de referenciar a tabela usando "qualquer objeto de lista que esteja cobrindo este intervalo" (
Set lo = Range("Data").ListObject
), consulte a tabela pelo nome, que pode ser encontrado na guia Design de Tabela que aparece quando você seleciona uma célula dentro da tabela.Não tenho certeza do que você está fazendo com o
.Range(12).FillDown
. Se uma tabela contiver uma fórmula, ela deve copiá-la automaticamente quando você adicionar uma nova linha.A parte da tabela onde os dados são armazenados é chamada de ,
DataBodyRange
então você pode encontrar o final dela e então deslocar mais duas linhas para obter duas linhas abaixo da tabela.Não tenho certeza do que você está tentando fazer, mas adiciona uma linha à tabela e formata as células de A a M abaixo da tabela.
Não use a cláusula With aninhada. Também há um End With faltando no seu código.
Você precisa especificar a referência de célula completa. LastRow indica apenas o número da linha, mas não a célula. Tente-
Substitua a coluna
A
pela sua coluna real.