Bom dia, desculpa deixar seu post sem resposta, falta de educação a minha depois de vc responder tão depressa.
Não entendi muito bem como funciona indireto(), endereço(), fiz umas mudanças e nada mudou. Na verdade eu não entendo muito de macro, td que está aí na planilha foi copiado/adaptado pelo método tentativa/erro de outras macros, aparentemente esta macro me parece muito útil, pois é worksheetchange, não precisa de botões, você conseguiria adaptá-la para minha necessidade, seria legal se fosse possível indicar que ao inserir uma linha a macro copia, em todas as colunas onde há fórmulas, a primeira célula que contém fórmula para todas as células abaixo, inserindo fórmula na nova linha. Isso vai ser muito útil não só nesta, mas em outras planilhas que tenho.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Target, Range("b2")) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
On Error Resume Next
If Err = 0 Then
If Second(Target) = 0 Then
Application.EnableEvents = False
Target.EntireRow.Copy
Target.Offset(1, 0).EntireRow.Insert
Target.EntireRow.PasteSpecial Paste:=xlPasteAll
Application.CutCopyMode = False
Target.EntireRow.Clear 'Limpa os dados da linha inserida
Range("B" & Target.Row + 1).Copy Destination:=Range("B" & Target.Row) 'Copia a formula "E" da linha abaixo da inserida e cola na inserida
Target.Select
Range("B" & Target.Row).PasteSpecial
Application.EnableEvents = True
End If
Else
Err.Clear
End If
On Error GoTo 0
End Sub
Postado : 24/11/2013 8:02 am