Notifications
Clear all

Erro em tempo de execução '1004':

6 Posts
2 Usuários
0 Reactions
2,387 Visualizações
(@vini_727)
Posts: 23
Eminent Member
Topic starter
 

Ola
estava tentando colar uma formula SE, ja existente em uma Macro
mas quando tente aplicar a macro me retorna o seguinte:

Erro em tempo de execução '1004':
Erro de definição de aplicativo ou definiçõa de objeto

O Codigo:
Sub ZSD043()
'
' ZSD043 Macro
'

'
Range("O2").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP(RC[-10],'D:Plamilha ExcelPlanilha de IGUALDADES[Todas.xlsx]Plan1'!R2C1:R15000C2,2,0),"""")"
Range("O2").Select
Range("P2").Select
Range("P2").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP(RC[-1],ZMM014!R5C2:R80000C5,4,0),IF(RC[-1]="""","""",IFERROR(VLOOKUP(RC[-1],ZMM014!R5C2:R80000C5,4,0),""PN não Cadastrado"")))"
Range("P3").Select
Range("Q2").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP(RC[-12],ZMM014!R5C2:R80000C5,4,0),""0"")"
Range("Q3").Select
Range("R2").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP(RC[-17],'MB52'!R5C2:R15000C7,6,0),"""")"
Range("R3").Select
Range("S2").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(IF(ISERROR(RC[-2]),""PN não Cadastrado"",IF(AND(RC[-1]=RC[-12],RC[-1]<>""""),""Qtde. Bloqueada"",IF(AND(RC[-1]>RC[-12],RC[-1]<>""""),""Erro de Bloq."",IF(AND(RC[-1]<RC[-12],RC[-1]<>"""",RC[-1]<>0),""Bloq. Parcial"",IF(AND(RC[-2]>=RC[-12],RC[-2]<>""0""),""Disp. Imediato"",IF(AND(RC[-3]>=RC[-12],RC[-3]<>""PN não Cadastrado"",RC[-3]<>""""),""Dispo. Igualdade""" & _
"(RC[-18],Prazos!R5C2:R3689C3,2,0))))))),IF(AND(RC[-2]>0,RC[-2]<RC[-12]),""Saldo Parcial"",""Indisponivel""))"
Range("S3").Select
Range("O2:S2").Select
Selection.AutoFill Destination:=Range("O2:R4000")
Range("O2:R4000").Select
Range("T2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-15],ZMM014!R5C2:R5C6,5,0)"
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-15],ZMM014!R5C2:R5C6,5,0)"
Range("T3").Select
ActiveWindow.SmallScroll ToRight:=3
Range("T2").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
End Sub

Espero que alguem possa me ajudar

 
Postado : 30/08/2012 8:21 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Tem um trecho o if que não consegui entender a finalidade:
"(RC[-18],Prazos!R5C2:R3689C3,2,0))))))),IF(AND(RC[-2]>0,RC[-2]<RC[-12]),""Saldo Parcial""
Veja abaixo se atende ao que deseja

Sub ZSD043()
' ZSD043 Macro
'
Range("O2").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP(RC[-10],'D:Plamilha ExcelPlanilha de IGUALDADES[Todas.xlsx]Plan1'!R2C1:R15000C2,2,0),"""")"
Range("P2").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP(RC[-1],ZMM014!R5C2:R80000C5,4,0),""PN não Cadastrado"")"
Range("Q2").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP(RC[-12],ZMM014!R5C2:R80000C5,4,0),""0"")"
Range("R2").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP(RC[-17],'MB52'!R5C2:R15000C7,6,0),"""")"
Range("S2").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(IF(ISERROR(RC[-2]),""PN não Cadastrado"",IF(AND(RC[-1]=RC[-12],RC[-1]<>""""),""Qtde. Bloqueada"",IF(AND(RC[-1]>RC[-12],RC[-1]<>""""),""Erro de Bloq."",IF(AND(RC[-1]<RC[-12],RC[-1]<>"""",RC[-1]<>0),""Bloq. Parcial"",IF(AND(RC[-2]>=RC[-12],RC[-2]<>""0""),""Disp. Imediato"",IF(AND(RC[-3]>=RC[-12],RC[-3]<>""PN não Cadastrado"",RC[-3]<>""""),""Dispo. Igualdade"",IF(AND(RC[-2]>0,RC[-2]<RC[-12]),""Saldo Parcial"",""Indisponivel""))))))),"""")"
Range("O2:S2").Select
Selection.AutoFill Destination:=Range("O2:S4000")
Range("T2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-15],ZMM014!R5C2:R5C6,5,0)"
ActiveWindow.SmallScroll ToRight:=3
Range("T2").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 30/08/2012 9:45 am
(@vini_727)
Posts: 23
Eminent Member
Topic starter
 

Deste jeito a formula fica sem o PROCV para responder prazos de atendimento.
a formula sem esta na marcor e a seguinte:

=SEERRO(SE(ÉERROS(Q2);"PN não Cadastrado";SE(E(R2=G2;R2<>"");"Qtde. Bloqueada";SE(E(R2>G2;R2<>"");"Erro de Bloq.";SE(E(R2<G2;R2<>"";R2<>0);"Bloq. Parcial";SE(E(Q2>=G2;Q2<>"0");"Disp. Imediato";SE(E(P2>=G2;P2<>"PN não Cadastrado";P2<>"");"Dispo. Igualdade";PROCV(A2;'BD Prazos'!$B$5:$C$3689;2;0)))))));SE(E(Q2>0;Q2<G2);"Saldo Parcial";"Indisponivel"))

 
Postado : 30/08/2012 10:09 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

É por isso que estranhei esse trecho, não tinha procv (vlookup)
Veja assim:

ActiveCell.FormulaR1C1 = _
"=IFERROR(IF(ISERROR(RC[-2]),""PN não Cadastrado"",IF(AND(RC[-1]=RC[-12],RC[-1]<>""""),""Qtde. Bloqueada"",IF(AND(RC[-1]>RC[-12],RC[-1]<>""""),""Erro de Bloq."",IF(AND(RC[-1]<RC[-12],RC[-1]<>"""",RC[-1]<>0),""Bloq. Parcial"",IF(AND(RC[-2]>=RC[-12],RC[-2]<>""0""),""Disp. Imediato"",IF(AND(RC[-3]>=RC[-12],RC[-3]<>""PN não Cadastrado"",RC[-3]<>""""),""Dispo. Igualdade"",vlookup(RC[-18],'BD Prazos'!R5C2:R3689C3,2,0))))))),IF(AND(RC[-2]>0,RC[-2]<RC[-12]),""Saldo Parcial"",""Indisponivel""))"

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 30/08/2012 10:48 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Pode tb utilizar, Formula ao inves de formular1c1, fica um pouquinho menor e mais legivel:

ActiveCell.Formula = _
"=IFERROR(IF(ISERROR(Q2),""PN não Cadastrado"",IF(AND(R2=G2,R2<>""""),""Qtde. Bloqueada"",IF(AND(R2>G2,R2<>""""),""Erro de Bloq."",IF(AND(R2<G2,R2<>"""",R2<>0),""Bloq. Parcial"",IF(AND(Q2>=G2,Q2<>""0""),""Disp. Imediato"",IF(AND(P2>=G2,P2<>""PN não Cadastrado"",P2<>""""),""Dispo. Igualdade"",VLOOKUP(A2,'BD Prazos'!$B$5:$C$3689,2,0))))))),IF(AND(q2>0,q2>G2),""Saldo Parcial"",""Indisponivel""))"

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 30/08/2012 11:00 am
(@vini_727)
Posts: 23
Eminent Member
Topic starter
 

Funcionou Perfeitamente muito Obrigado..

 
Postado : 30/08/2012 11:17 am