Ventana de confirmación de datos

Como hago para que al momento de escribir N número en una celda me aparesca una ventana y me pida que confirme el número y que si el numero es igual al que escribio primero en la celda me habra otra hoja, pero si no es igual cierre la ventana y mande un mensaje de "El número no concuerda con el anterior, confirme de Nuevo" y continue en la misma hoja. Algo así como cuando te registras en una pagina y te pide que vuelvas a escribir el correo y si es el mismo continuas con el registro

1 respuesta

Respuesta
1

Pon la siguiente macro en los eventos de tu hoja

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Range("C2")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        If Target.Value = "" Then Exit Sub
        res = InputBox("Confirma el número", "VENTANA DE CONFIRMACIÓN")
        If Val(res) <> Target.Value Then
            MsgBox "El número no concuerda con el anterior, confirme de Nuevo"
            Target.Select
            Exit Sub
        End If
        Sheets("Hoja3").Select
    End If
End Sub

Cambia en la macro "C2" por la celda donde vas a capturar el número.

También cambia "Hoja3" por el nombre la hoja que se debe seleccionar en caso de que los 2 números sean iguales.


Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. En el panel del lado derecho copia la macro

Funciona de la siguiente manera. Escribes un número en la celda, se abre la ventana, escribes el número, si son iguales se va a la hoja3, si son diferentes te envía un mensaje.


.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Muchas gracias por el soporte fue excelente lo que necesitaba, solo quiero preguntar dos cositas más para que quede perfecto, en el caso que no sean iguales los numeros y despues que envie el msj como le hago para que la celda quede en blanco otra vez? y tambien como hacer para que los botones de la ventana de confiormación se vean abajo del cuadro para introducer texto?

Te anexo el código actualizado para limpiar la celda

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Range("C2")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        If Target.Value = "" Then Exit Sub
        res = InputBox("Confirma el número", "VENTANA DE CONFIRMACIÓN")
        If Val(res) <> Target.Value Then
            MsgBox "El número no concuerda con el anterior, confirme de Nuevo"
            Target.Select
            Application.EnableEvents = False
            Target.Value = ""
            Application.EnableEvents = True
            Exit Sub
        End If
        Sheets("Hoja3").Select
    End If
End Sub

Esos botones no se pueden mover en el InputBox, si quieres poner los botones abajo tendrías que crear un Userform.

Este es un ejemplo:

Como posicionar un msgbox 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas