On Error Goto repetido 2 veces en un codigo ¿Se puede?
publicado
Buenos dias
Tengo un formulario con un boton y dos cuadros de texto que empleo para abrir un libro excel. El primer cuadro de texto es para indicar el nombre del archivo y el segundo cuadro de texto es para indicar la hoja del archivo que quiero abrir.
Lo que busco es si el archivo no existe genera un error y con la instruccion de on error coloco un Msgbox diciendo que el archivo no existe y se detiene la instruccion. Ejemplo:
ElseIf TextBox2.Value = "" Then MsgBox "Por favor seleccione la referencia del presupuesto"
End If
error1:
MsgBox "referencia de presupuesto no encontrada"
Exit Sub
End sub
[/CODE]
Este codigo funciona pero ahora lo que quiero es q si al abrir el libro no encuentra la hoja que le indico en el otro textbox, al dar un error realice otra accion. Este es el ejemplo que estoy intentando usar pero no funciona:
ElseIf TextBox2.Value = "" Then MsgBox "Por favor seleccione la referencia del presupuesto"
End If
error1:
MsgBox "referencia de presupuesto no encontrada"
Exit Sub
' Aqui es donde quiero que controle la segunda posibilidad de error
On Error GoTo error2
Workbooks(archivo).Activate
Sheets(Hoja).Select
error2:
MsgBox "referencia no valida"
Workbooks(archivo).Close (False)
Exit Sub
End If
End Sub
[/CODE]
En resumen en la primera parte se encuntra un error quiero ve valla a error1, si no lo encuentra el codigo continua hasta la segunda y si encuentra en la segunda algun error necesito que valla a error2.
Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.
Buenos dias
Tengo un formulario con un boton y dos cuadros de texto que empleo para abrir un libro excel. El primer cuadro de texto es para indicar el nombre del archivo y el segundo cuadro de texto es para indicar la hoja del archivo que quiero abrir.
Lo que busco es si el archivo no existe genera un error y con la instruccion de on error coloco un Msgbox diciendo que el archivo no existe y se detiene la instruccion. Ejemplo:
Este codigo funciona pero ahora lo que quiero es q si al abrir el libro no encuentra la hoja que le indico en el otro textbox, al dar un error realice otra accion. Este es el ejemplo que estoy intentando usar pero no funciona:
Private Sub CommandButton8_Click()
On Error GoTo error1
' Controla el primer error
If TextBox2.Value <> "" Then
Dim nombrearchivo As String
nombrearchivo = "\\SERVER\Users\Administrador.SERVER\Documents\PEPE\PEPE\Dpto. Comercial\Presupuestos\Ofertas\Excel\Ofertas " & TextBox2.Value & ".xlsx"
Dim archivo As String
archivo = "Ofertas " & TextBox2.Value
Dim Hoja As String
Hoja = TextBox3.Value
ChDir _
"\\SERVER\Users\Administrador.SERVER\Documents\PEPE\PEPE\Dpto. Comercial\Presupuestos\Ofertas\Excel"
Workbooks.Open Filename:= _
nombrearchivo
ElseIf TextBox2.Value = "" Then MsgBox "Por favor seleccione la referencia del presupuesto"
End If
error1:
MsgBox "referencia de presupuesto no encontrada"
Exit Sub
' Aqui es donde quiero que controle la segunda posibilidad de error
On Error GoTo error2
Workbooks(archivo).Activate
Sheets(Hoja).Select
error2:
MsgBox "referencia no valida"
Workbooks(archivo).Close (False)
Exit Sub
End If
End Sub
[/CODE]
En resumen en la primera parte se encuntra un error quiero ve valla a error1, si no lo encuentra el codigo continua hasta la segunda y si encuentra en la segunda algun error necesito que valla a error2.
Un Saludo
[color=blue]- - - - - Mensaje combinado - - - - -[/color]
Solucionadooooo.
Se puede detener la accion de on error, colocando la expresion On error Goto 0
Viva la ayuda de Excel.
Perdonar las molestias