Notifications
Clear all

Macro para estender formulas nas colunas

6 Posts
2 Usuários
0 Reactions
1,331 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde pessoal.

Algúem pode ajudar com uma macro que, nas colunas que tem fórmulas, estendesse automaticamente até que houvesse alguma célula com dados na coluna "A"?
Por exemplo, tenho uma planilha com fórmulas nas colunas B, C, G, K e M. Toda vez que insiro linhas na tabela tenho que estender as fórmulas selecionando cada coluna e puxando para baixo.

Tentei algo c a macro abaixo mas não funcionou. (a macro era só para uma coluna).

Sub EstenderFormulas()
'
' Estender_formulas Macro

Application.ScreenUpdating = False

lin = 3 'linha logo abaixo dos titulos de colunas
Do Until Range("A" & lin).Value = ""

Range("B3").Select
Selection.AutoFill Destination:=Range("B" & lin), Type:=xlFillDefault

Range("A3").Select

lin = lin + 1
Loop

Application.ScreenUpdating = True

End Sub

Muito obrigado.

Silvio Felinto

 
Postado : 10/10/2014 9:16 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Em vez de usar macro, porque vc simplesmente não converte em tabela?

Selecione os dados, vai em página inicial, "formatar como tabela".

Pronto, resolvido.

Abs

 
Postado : 10/10/2014 10:11 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!

A diga do ... seria uma boa solução!

mas tente assim...

Att

 
Postado : 10/10/2014 1:38 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Ué, deu bug na resposta do alexandre?

 
Postado : 10/10/2014 2:25 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!

ops :shock: :shock:
Considerando que tem formulas nas colunas e ao inserir dados na coluna A....

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim lastrow As Long
    If Not Intersect(Target, Range("A:A")) Is Nothing Then
        Application.EnableEvents = False
            lastrow = Range("A" & Rows.Count).End(xlUp).Row
            Range("B2:C2").Copy Range("B2:C" & lastrow)
            Range("G2").Copy Range("G2:G" & lastrow)
            Range("K2").Copy Range("K2:K" & lastrow)
            Range("M2").Copy Range("M2:M" & lastrow)
        Application.EnableEvents = True
    End If
End Sub

Att

 
Postado : 10/10/2014 2:44 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Desculpem a demora.

Obrigado pela resposta.

Silvio Felinto

 
Postado : 21/10/2014 8:25 am