Asignar función a una ventana MsgBox que haga o no un proceso.

Hola Dam…. Creí haber finalizado mi programa pero parece no tener fin, es agradable hacer estas cosas y más todavía teniendo ese apoyo… pero te tengo otra petición.
Para el módulo de modificar folio existe una regla que solo una vez por semana podrá modificarse el status de un folio”, sin embargo se detecta que a veces se modifica más de una vez, lo cual no debe ser. Para esto agregué al código que te anexo una reforma consistente en que cuando se está realizando la captura para modificar ese status, se desprende una ventana (MsgBox) señal que avisa que ese folio ya está modificado y tiene la opción de "Aceptar" ó "Cancelar”. El apoyo que te solicito consiste en que, ahora modificar este código, si se decide por la opción "Cancelar" la operación para este folio no se guarde en la macro ni surta efecto alguno en dicho folio y la captura siga; es decir, si se capturaron 5 folios y uno ya estaba modificado, este debe pasar desapercibido en el proceso de modificación. Si se decide por la opción “Aceptar”, entonces el proceso correrá normal; tal cual. Muchas gracias por tu atención.
Private Sub Cmdingresar_Click()
On Error Resume Next
'On Error GoTo no existe
Application.ScreenUpdating = False
If Range("Q3") = 1 Then
If Len(Me.ipnumber) > 5 Then
MsgBox "Numero no encontrado"
Else
Sheets("portal").Range("A1001").Select
[A:B].Find(What:=ipnumber, After:=ActiveCell, LookIn:=xlFormulas, lookat:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate
'----------
If ActiveCell.Offset(0, 1) <> "" Then MsgBox ("Tarjeta ya Modificada"), vbYesNo
' End If
ActiveCell.Offset(0, 1) = Me.Computadora.value
'----------
If Err.Number <> 0 Then
MsgBox "Este número no existe..."
Err.Number = 0
End If
End If
command1.Set Focus
End If
If Range("Q3") = 2 Then
If Len(Me.ipnumber) > 5 Then
MsgBox "Numero no encontrado"
----
----
End sub

1 respuesta

Respuesta
1

Cambia estas líneas

If ActiveCell.Offset(0, 1) <> "" Then MsgBox ("Tarjeta ya Modificada"), vbYesNo
' End If
ActiveCell.Offset(0, 1) = Me.Computadora.value

Por estas

If ActiveCell.Offset(0, 1) <> "" Then
continuar = MsgBox("Tarjeta ya Modificada" & vbNewLine & _
"Deseas modificarla ? ", vbYesNo)
If continuar = vbYes Then
ActiveCell.Offset(0, 1) = Me.Computadora.Value
End If
End If

Prueba y me comentas.

Saludos. Dam
Si es lo que necesitas.

hola Dam... Tu respuesta fué excelente, ya completé mi código con un pequeño acomodo, Muchísimas gracias por tu apoyo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas