El Procedimiento error go to en VB excel no funciona

El Procedimiento on error go to no funciona como espero.
estoy trabajando en generar ordenes de compra en ecxel, y necesito que cuando el valor sea mayo a $800.000, el procedimiento salte a "Autorizar_OC:", pero eso no sucede. Cuando el valor es menor, funciona todo bien, pero cuando es mayor no pasa nada. Please...necesito ayuda urgente....gracias de antemano.. Aqui te envio el codigo que estoy usando
On Error GoTo Autorizar_OC
If Range("E45").Value < 800000 Then 'Si la celda E45 es menor a 800000
With Sheets("BD OC Generadas").Range("A65536").End(xlUp)
.Offset(1, 0) = Sheets("OC").Range("E2") 'OC
.Offset(1, 1) = Sheets("OC").Range("D5") 'Fecha
.Offset(1, 2) = Sheets("OC").Range("B12") 'Proveedor
.Offset(1, 3) = Sheets("OC").Range("D15") 'Cotización Asociada
.Offset(1, 4) = Sheets("OC").Range("B20") 'Motivo OC
.Offset(1, 5) = Sheets("OC").Range("E41") 'Subtotal
.Offset(1, 6) = Sheets("OC").Range("E42") 'Iva 19%
.Offset(1, 7) = Sheets("OC").Range("E43") 'Total
.Offset(1, 8) = Sheets("OC").Range("D17") 'Desc Aplicado
.Offset(1, 9) = Sheets("OC").Range("E44") 'Descuento
.Offset(1, 10) = Sheets("OC").Range("E45") 'Total a Pagar
End With
Application.CutCopyMode = False
Range("E2") = Range("E2") + 1
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Vania\Desktop\OC\" + Cells(1, 14) + ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Sheets("OC").Select
MsgBox "ORDEN GENERADA"
'Borrar datos variables OC
Range("A22:D40").ClearContents
Range("D13:E13").ClearContents
Range("D15:E15").ClearContents
Range("D17:E17").ClearContents
Range("B20").ClearContents
ActiveWindow.SelectedSheets.Visible = False
Sheets("Inicio").Select
Exit Sub
Autorizar_OC:
'Si la celda E45 es mayor a 800000
MsgBox ("OC, Excede Valor Permitido, Para Generar OC, Necesita Autorización")
With Sheets("BD OC Generadas").Range("A65536").End(xlUp)
.Offset(1, 0) = Sheets("OC").Range("E2") 'OC
.Offset(1, 1) = Sheets("OC").Range("D5") 'Fecha
.Offset(1, 2) = Sheets("OC").Range("B12") 'Proveedor
.Offset(1, 3) = Sheets("OC").Range("D15") 'Cotización Asociada
.Offset(1, 4) = Sheets("OC").Range("B20") 'Motivo OC
.Offset(1, 5) = Sheets("OC").Range("E41") 'Subtotal
.Offset(1, 6) = Sheets("OC").Range("E42") 'Iva 19%
.Offset(1, 7) = Sheets("OC").Range("E43") 'Total
.Offset(1, 8) = Sheets("OC").Range("D17") 'Desc Aplicado
.Offset(1, 9) = Sheets("OC").Range("E44") 'Descuento
.Offset(1, 10) = Sheets("OC").Range("E45") 'Total a Pagar
End With
Application.CutCopyMode = False
Range("E2") = Range("E2") + 1
Application.Dialogs(xlDialogSendMail).Show
Sheets("OC").Select
MsgBox "ORDEN GENERADA Y LISTA PARA AUTORIZAR", vbOKOnly, "EMAGISTER"
'Borrar datos variables factura
Range("A22:D40").ClearContents
Range("D13:E13").ClearContents
Range("D15:E15").ClearContents
Range("D17:E17").ClearContents
Range("B20").ClearContents
ActiveWindow.SelectedSheets.Visible = False
Sheets("Inicio").Select
End If

1 respuesta

Respuesta
1
remeplaza Autorizar_OC: por ELSE

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas