- 28 Set 2018 às 09:43
#37254
Bom dia, tenho um macro com procv que procura um valor em uma coluna, meu objetivo é que se o procv der ERRO, ou seja, não ache o valor procurado, ele continue o resto do código, e se achar um valor de uma mensagem e pare a macro. Vou colocar o código abaixo, percebam que logo que deixo a plnilha desprotegida eu ja chamo o PROCV, ali, teria que ter algo que se der erro ele continue normalmente a macro e se nao der erro ele de uma mensagem e pare a macro.
Sub Macro15()
Worksheets("Plan1").Unprotect Password:="123mudar"
Cells(6, 38) = Application.WorksheetFunction.VLookup(Cells(6, 16), Worksheets("plan1").Range("b5:d6000"), 1, 0)
'aqui precisa ter o código: se der erro, continue normalmente, se nao der, de uma msgbox e pare a macro!
If Range("ah5") >= 1 Then
MsgBox "Informe os dias para produção! - Ou deixe '0' dias"
Range("v6").Select
Else
If Range("ai5") >= 1 Then
MsgBox "Informe os dias para pintura!"
Range("w6").Select
Else
If Range("aj5") >= 1 Then
MsgBox "Informe os dias para embalagem! - Ou deixe '0' dias"
Range("x6").Select
Else
If Range("ag5") >= 1 Then
MsgBox "Informe a cor!"
Range("ab6").Select
Else
If Range("ak5") >= 1 Then
MsgBox "Informe o responsável!"
Range("ac6").Select
Else
If Range("aF5") >= 1 Then
MsgBox "Informe o comercial para alterar a data prevista ! Pedido NÃO lançado!!"
Exit Sub
Else
If MsgBox("Tem certeza que deseja lançar?", vbYesNo, "Lançar valores!") = vbNo Then
Exit Sub
Else
Range("P6:X" & Range("o1").Value).Select
Selection.Copy
Sheets("Plan1").Select
Range("B" & Range("a4").Value).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("tb_bd").Select
Range("Y6:Ad" & Range("o1").Value).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Plan1").Select
Range("o" & Range("x3").Value).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("M12").Select
End If
End If
End If
End If
End If
End If
End If
Worksheets("Plan1").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True, Password:="123mudar"
End Sub
muito obrigado
Sub Macro15()
Worksheets("Plan1").Unprotect Password:="123mudar"
Cells(6, 38) = Application.WorksheetFunction.VLookup(Cells(6, 16), Worksheets("plan1").Range("b5:d6000"), 1, 0)
'aqui precisa ter o código: se der erro, continue normalmente, se nao der, de uma msgbox e pare a macro!
If Range("ah5") >= 1 Then
MsgBox "Informe os dias para produção! - Ou deixe '0' dias"
Range("v6").Select
Else
If Range("ai5") >= 1 Then
MsgBox "Informe os dias para pintura!"
Range("w6").Select
Else
If Range("aj5") >= 1 Then
MsgBox "Informe os dias para embalagem! - Ou deixe '0' dias"
Range("x6").Select
Else
If Range("ag5") >= 1 Then
MsgBox "Informe a cor!"
Range("ab6").Select
Else
If Range("ak5") >= 1 Then
MsgBox "Informe o responsável!"
Range("ac6").Select
Else
If Range("aF5") >= 1 Then
MsgBox "Informe o comercial para alterar a data prevista ! Pedido NÃO lançado!!"
Exit Sub
Else
If MsgBox("Tem certeza que deseja lançar?", vbYesNo, "Lançar valores!") = vbNo Then
Exit Sub
Else
Range("P6:X" & Range("o1").Value).Select
Selection.Copy
Sheets("Plan1").Select
Range("B" & Range("a4").Value).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("tb_bd").Select
Range("Y6:Ad" & Range("o1").Value).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Plan1").Select
Range("o" & Range("x3").Value).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("M12").Select
End If
End If
End If
End If
End If
End If
End If
Worksheets("Plan1").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True, Password:="123mudar"
End Sub
muito obrigado