Eu apliquei o seguinte código em uma tabela que precisa de todos, exceto da primeira linha excluída para que os novos dados sejam colados nela.
Sub KeepFormulas()
Dim sRow, lCol As Integer
sRow = ActiveCell.Row
lCol = Cells(sRow, Columns.Count).End(xlToRight).Column
For Each cell In Range(Cells(sRow, 1), Cells(sRow, lCol))
If cell.HasFormula = False Then cell.ClearContents
Next cell
End Sub
Depois que a última célula do intervalo for limpa de seu conteúdo, a célula ativa se tornará a primeira célula na primeira linha e o código continuará infinito entre as duas últimas linhas de código. Como faço para impedir que o código seja executado depois que todas as células do intervalo forem apagadas (a menos que contenha uma fórmula).
Tags vba