En caso de error en la macro realizar una acción

Tengo una macro en la que la persona ingresa un código y la macro lo busca en una hoja. Lo que necesito es que cuando ese buscar produzca un error en el caso de que se haya ingresado un código que no existe, quiero que aparezca un msgbox diciendo "la intentar seleccionada no existe" y la persona haga click en aceptar y que se vuela a poner el cursor en donde la persona debe ingresar el código. Mando esa parte de la macro gracias :). Ahora como lo que aparece es que ningún código existe supuestamente

On Error GoTo ErrorHandler
Cells.Find(What:=Sheets("Temp").Cells(2, 6).Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=True).Activate
Exit Sub
ErrorHandler:
MsgBox "No existe posición seleccionada.", vbInformation + vbOKOnly
ComboBoxDrive.SetFocus
Resume Next
Sheets("Temp").Select

1 respuesta

Respuesta
1

Te anexo la macro, cambia en la macro "Hoja1" por la hoja donde tienes los códigos.

Sub entrar()
'Mod.Por.Dante Amor
    Set b = Sheets("Hoja1").Cells.Find(Sheets("Temp").[F2], After:=ActiveCell, _
        LookIn:=xlFormulas, LookAt:=xlWhole)
    If Not b Is Nothing Then
        MsgBox "No existe posición seleccionada.", vbExclamation + vbOKOnly
        Sheets("Temp").Select
        [F2].Select
        ComboBoxDrive.SetFocus
        Exit Sub
    End If
    '
    'continúa tu código
    '
End Sub

Si tienes dudas, envíame el código completo, porque no entiendo esta parte: 

ComboBoxDrive. SetFocus

Supongo que tienes un combobox en la hoja, pero lo que hace tu macro es buscar el dato de la celda F2 (Cells(2, 6). Value), por eso no entiendo, por qué pones la instrucción del combo, si el dato que buscas está en una celda.

Espero tus comentarios.

Hola trate de hacerlo así pero no me funciono. Lo estuve tratando de hacer con un ejemplo que vi el cual mando aquí. Ahora si me muestra el msg box cuando hay un error, es decir cuando se ingresa un código o posicion que no existe pero cuando ingreso una posicion si existente no sale nada. Se supone que cuando ingreso la posicion me deben aparecenr en unos textbox abajo lo que hay en esa posicion. Antes de agregarle lo del error me funcionaba pero ahora no me muestra nada.

El setfocus del comboboxdrive es para cuando la persona le de aceptar al msgbox vuelva a poner el cursor en ese para que vuelva a ingresar el código. Gracias

lo que va despues de resume next es lo que y esperaria que siguiera haciendo si no sale error. la vuelvo a enviar porque me aparece que no se cargo bn. gracias

Aunque en la red te encuentres con el manejo de la instrucción "On error", no te recomiendo que la utilices, lo recomendable es que controles los casos que pueden existir, y eso lo consigues utilizando otras instrucciones, por ejemplo, utilizar find, en lugar de vlookup.

En el código original que pusiste no vienen los textbox, así que no sé cómo los quieres llenar.

Mejor envíame tu archivo y adapto la macro para que no te preocupes por el On Error.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario "Laura Gomez" y el título de esta pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas