Notifications
Clear all

Mudar formula a cada linha.

4 Posts
2 Usuários
0 Reactions
1,084 Visualizações
(@wenpra)
Posts: 76
Estimable Member
Topic starter
 

tenho essa formula "=PROCV(A1;T3_Clientes!A:P;14;FALSO)" que é inserida através do vba pois estou com um problema cada ele esta colocando a mesma formula em todas as celulas tem como eu alterar a cada célula que inserida. ex: na linha1 =PROCV(A1;T3_Clientes!A:P;14;FALSO)qundo for para linha2 "=PROCV(A2;T3_Clientes!A:P;14;FALSO)"
Sub Alterar_Status()
If ActiveCell.Text = "" Then
ElseIf ActiveCell.Text = "AGUARDANDO" Then
ActiveCell.FormulaLocal = "=PROCV(A1;T3_Clientes!A:P;14;FALSO)"
ActiveCell.Offset(1, 0).Select
Call Alterar_Status
Else
ActiveCell.Offset(1, 0).Select
Call Alterar_Status
End If
End Sub

 
Postado : 19/09/2014 2:06 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

use o Autofill
http://msdn.microsoft.com/pt-br/library ... =office.15).aspx

Att

 
Postado : 19/09/2014 2:10 pm
(@wenpra)
Posts: 76
Estimable Member
Topic starter
 

não consegui entender sera que poderia dar um exemplo como poderia usar no código abaixo:
Sub Alterar_Status()
If ActiveCell.Text = "" Then
ElseIf ActiveCell.Text = "AGUARDANDO" Then
ActiveCell.FormulaLocal = "=PROCV(A1;T3_Clientes!A:P;14;FALSO)"
ActiveCell.Offset(1, 0).Select
Call Alterar_Status
Else
ActiveCell.Offset(1, 0).Select
Call Alterar_Status
End If

 
Postado : 19/09/2014 4:33 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Se entendi corretamente, veja se é isto :
Como utiliza ActiveCell definimos uma Variável para capturar a Linha e a inserimos na formula, assim assumirá sempre a Linha da celula Ativa :

    Dim iLin
    iLin = ActiveCell.Row

    If ActiveCell.Text = "" Then
    
    ElseIf ActiveCell.Text = "AGUARDANDO" Then
        
        'ActiveCell.FormulaLocal = "=PROCV(A1;T3_Clientes!A:P;14;FALSO)"
        ActiveCell.FormulaLocal = "=PROCV(A" & iLin & ";T3_Clientes!A:P;14;FALSO)"
        
        ActiveCell.Offset(1, 0).Select
        
        Call Alterar_Status
        
    Else
    
        ActiveCell.Offset(1, 0).Select
        
        Call Alterar_Status
    End If

[]s

 
Postado : 19/09/2014 5:43 pm