miércoles, 22 de marzo de 2017

VB atajo si se presenta un error

Cuando realizamos una rutina cualquiera, puede que por falta de datos u otro motivo se presente un error.

aqui una rutina para saltar el error y salir o mostrar el error por medio del sistema o mostrar un mensaje



On Error GoTo   Err_RUTINA '[RUTINA puede ser cualquier nombre que le demos


'EJECUCIÓN DE LA RUTINA VB (cualquier rutina)

Exit_RUTINA : '[ si todo funciona bien la rutina sale si ningun problema
    Exit Sub

Err_RUTINA: '[pero si se presenta error podemos finalizar de varias formas

'1    que muestre el error por sistema:
Err_RUTINA:
     MsgBox Err.Description  
Resume Next (para salir de la rutina)

'2   que muestre un mensaje personalizado:
Err_RUTINA:
      MsgBox " ingrese el codigo correcto"  'por ejemplo
Resume Next (para salir de la rutina)

'EJEMPLO1:
'Entonces:  Con el error del sistema:
On Error GoTo  Err_RUTINA
'EJECUCIÓN DE LA RUTINA VB
Exit_RUTINA :
    Exit Sub
Err_RUTINA: 
     MsgBox Err.Description 
        Resume Next
'EJEMPLO2:
'Con un error personalizado :
On Error GoTo  Err_RUTINA
'EJECUCIÓN DE LA RUTINA VB
Exit_RUTINA :
    Exit Sub
Err_RUTINA: 
     MsgBox " ingrese el codigo correcto"
        Resume Next


'si simplemente uno quiere saltarse el error y que no diga nada
On Error GoTo  Err_RUTINA
'EJECUCIÓN DE LA RUTINA VB
Exit_RUTINA :
    Exit Sub
Err_RUTINA: 
        Resume Next
'EN ESTE CASO SIMPLEMENTE NO MUESTRA EL ERROR Y TAMPOCO MUESTRA NADA


'Ejemplo PRACTICO:
On Error GoTo Err_RUTINA

Dim BEZETA As String
Dim POSBZETA As String
BEZETA = [Text38]
POSBEZETA = [Text40]
[Text50] = BEZETA
[Text52] = POSBEZETA
Dim reffff As String
reffff = [Text78]
Text70 = reffff


Exit_RUTINA:  

    Exit Sub
Err_RUTINA:
      MsgBox "Debe tener El valor en (Ref en SAP), valor tomado en MD04"   

      Resume Next

Con un click pasar datos ordenados a una planilla google sheet excel

     Dim http As Object     Dim url As String     Dim datos As String     Dim codigoerlangenold As String ' 02     Dim codigofabricaaa A...