Notifications
Clear all

Dúvida colocar linha ativa na fórmula

4 Posts
2 Usuários
0 Reactions
981 Visualizações
(@bymauricio)
Posts: 0
New Member
Topic starter
 

Olá,
Gostaria de saber como utilizar uma fórmula no VBA, ActiveCell.Offset(1, -1) = "=MÊS(B"n")" sendo n o numero da linha em que se encontra preenchida pela macro.
Segue o código:

Private Sub CommandButton1_Click()
If txt_precoarroba = "" Then
MsgBox ("preencha o valor da arroba do animal!!"), vbInformation, "atenção"

Else

Sheets("Sint. Vendas").Select

Range("b65536").End(xlUp).Select

ActiveCell.Offset(1, 0) = txt_data1
ActiveCell.Offset(1, 1) = box_categoria
ActiveCell.Offset(1, 2) = CInt(txt_peso)
ActiveCell.Offset(1, 3) = CInt(txt_qtde)
ActiveCell.Offset(1, 4) = CInt(txt_precoarroba)
ActiveCell.Offset(1, 5) = box_sexo
ActiveCell.Offset(1, 6) = txt_comprador
ActiveCell.Offset(1, -1) = "=MÊS(B and linha)"


End If
End Sub
 
Postado : 25/11/2016 2:27 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 


Fiquei em dúvida sobre quem espera que seja n:

Seguem duas opções para teste:

ActiveCell.Offset(1, -1) = "=MONTH(B" & ActiveCell.Row & ")"

ActiveCell.Offset(1, -1) = "=MONTH(INDIRECT(""B""&ROW()))"

 
Postado : 25/11/2016 2:53 pm
(@bymauricio)
Posts: 0
New Member
Topic starter
 

gostaria que n fosse o numero da linha da celula ativa.
EX: =MES(B1), =MES(B2)
assim por diante de acordo com que as linhas vão sendo adicionadas

 
Postado : 25/11/2016 3:03 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Mano, use o R1C1, assim:

ActiveCell.Offset(1, -1).formulaR1C1 = "=MONTH(RC2)"

assim vc garante que a linha na fórmula é a mesma linha em que ela está sendo escrita...

 
Postado : 25/11/2016 5:08 pm