Notifications
Clear all

Preencher automaticamente linha

4 Posts
3 Usuários
0 Reactions
1,094 Visualizações
(@trollv)
Posts: 0
New Member
Topic starter
 

Boa noite, gostaria de saber como faço pra preencher automaticamente uma linha com uma fórmula quando adiciono mais uma informação na coluna do lado direito por exemplo tenho uma linha com os numeros de 0 a 10 e uma linha embaixo multiplicando esses numeros por 2, gostaria de uma macro que retornasse o valor da multiplicação automaticamente quando eu colocar o numero 11 e assim por diante. A principio pensei em fazer dessa forma, mas não sei como prosseguir nessa parte que ta entre parenteses:

Sub Macro1()

    Range("A1").Select
    Selection.End(xlToRight).Select
    coluna = ActiveCell.Column
    preencher = "c1:coluna1" //(NÃO É ESSE O JEITO CERTO, GOSTARIA DE SABER SE EXISTE ALGUMA FORMA DE FAZER ISSO)
    Range("B1").Select             Aqui o B1 já estaria com a formula colocada
    Selection.AutoFill Destination:=Range(preencher), Type:=xlFillDefault

End Sub
 
Postado : 31/05/2017 6:34 pm
(@leandroxtr)
Posts: 0
New Member
 

acho que não entendemos o que você deseja, amigo! rs

 
Postado : 01/06/2017 5:25 am
(@trollv)
Posts: 0
New Member
Topic starter
 

A ideia é fazer igual nesse vídeo aqui
https://www.youtube.com/watch?v=0vh9pbqaugg

Só que trocando linhas por colunas

 
Postado : 01/06/2017 6:22 pm
(@osvaldomp)
Posts: 857
Prominent Member
 

Coloque os números na linha 1, começando por 'A1'. O código irá colocar as fórmulas na linha 2, a partir de 'A2'.

Sub Macro1()
 Dim coluna As Long, preencher As String
  Range("A1").Select
  Selection.End(xlToRight).Select
  coluna = ActiveCell.Column
  preencher = "A2:" & Cells(2, coluna).Address
  Range("A2").Select '   A2 ---> = A1*2
  Selection.AutoFill Destination:=Range(preencher), Type:=xlFillDefault
End Sub

ou

Sub PreencheComFórmulasV1()
 Dim coluna As Long
  coluna = Cells(1, Columns.Count).End(xlToLeft).Column
  Range("A2", Cells(2, coluna)) = "=A1*2"
End Sub

ou

Sub PreencheComFórmulasV2()
 Range("A2", Cells(2, Cells(1, Columns.Count).End(xlToLeft).Column)) = "=A1*2"
End Sub
 
Postado : 01/06/2017 7:10 pm