Você está copiando a fórmula nas colunas usando Range.AutoFill()
. Assim, se a macro estiver criando uma fórmula em células erradas, isso significa que o intervalo que você está fornecendo é falso. Você está usando Range("C2:C77")
, o real pode ser Range("C2:C76")
, por exemplo.
Você pode encontrar a última linha usada em um intervalo (aqui coluna C) usando isto:
LastRow = Range("C" & Rows.Count).End(xlUp).Row
Além disso, quando você excluir os cabeçalhos vazios, você está:
(a) Excluindo a linha 1
(b) Excluindo a linha 2 que é a linha 3 antes de (a) ser executada.
Isso é de propósito? Se você quiser excluir a primeira e a segunda linha, poderá fazer isso:
Rows("1:2").EntireRow.Delete
EDITAR:
Como você realmente queria excluir a linha 1 e 3:
Rows(1).EntireRow.Delete
Rows(2).EntireRow.Delete