Notifications
Clear all

Erro 1004

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

Bom dia a todos!
Estou escrevendo um código simples, mas está aparecendo o erro 1004 e não consigo resolver. Alguém pode me dar uma luz?
O erro aparece sempre nessa linha:
"strFormula = "=SEERRO(PROCV($A" & intLinhaMovProd & ";Tabela2;" & intColunaTabPreços & ";FALSO);0)"
Worksheets("Mov Prod").Cells(intLinhaMovProd, 2).Value = strFormula"
Desde já, agradeço a todos.
Abraço

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range
    Dim intColunaTabPreços As Integer
    Dim intLinhaMovProd As Integer
    Dim strFormula As String
    
intColunaTabPreços = 1
intLinhaMovProd = 7
    
    'The variable KeyCells contains the cells that will cause an alert when they are changed.
    Set KeyCells = Range("E5:F5")
'Target = KeyCells

    
   If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
        'Altera o Procv da coluna de preços para se adaptar a tabela de cada fornecedor
        'MsgBox "Cell " & Target.Address & " has changed."
        While Tab_Preços.Cells(1, intColunaTabPreços).Value <> Mov_Prod.Range("F5").Value
            intColunaTabPreços = intColunaTabPreços + 1
        Wend
        While Mov_Prod.Cells(intLinhaMovProd, 1).Value <> 0
        
            strFormula = "=SEERRO(PROCV($A" & intLinhaMovProd & ";Tabela2;" & intColunaTabPreços & ";FALSO);0)"
            Worksheets("Mov Prod").Cells(intLinhaMovProd, 2).Value = strFormula
            'Mov_Prod.Cells(intLinhaMovProd, 2).Value = strFormula
            intLinhaMovProd = intLinhaMovProd + 1
        Wend
            
    End If
End Sub
 
Postado : 21/01/2018 8:57 am
(@mprudencio)
Posts: 2749
Famed Member
 

Não da pra testar o codigo mas pelo q vi tente trocar onde tem procv por vlookup.

Pode ser que resolva.

E me parece que falta declarar uma variavel

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 21/01/2018 10:15 am
(@babdallas)
Posts: 85
Trusted Member
 

Tente assim

strFormula = "=IFERROR(VLOOKUP($A" & intLinhaMovProd & ";Tabela2;" & intColunaTabPreços & ";0);0)"
 
Postado : 21/01/2018 10:40 am
(@osvaldomp)
Posts: 857
Prominent Member
 

Substitua Value por FormulaLocal:

Worksheets("Mov Prod").Cells(intLinhaMovProd, 2).Value = strFormula

Worksheets("Mov Prod").Cells(intLinhaMovProd, 2).FormulaLocal= strFormula

Osvaldo

 
Postado : 21/01/2018 11:41 am