Foros del Web » Soporte técnico » Ofimática »

Excel: Cancelar un InputBox?

Estas en el tema de Excel: Cancelar un InputBox? en el foro de Ofimática en Foros del Web. Hola Colegas, no puedo captar el evento Cancel del inputbox para que ejecute el codigo que quiero, hice estos ejemplos: Sub Botón1_AlHacerClic() pablo = InputBox("MONTO", ...
  #1 (permalink)  
Antiguo 29/12/2007, 11:01
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
Excel: Cancelar un InputBox?

Hola Colegas, no puedo captar el evento Cancel del inputbox para que ejecute el codigo que quiero, hice estos ejemplos:

Sub Botón1_AlHacerClic()
pablo = InputBox("MONTO", "DINERO")

If pablo = vbAbort Then
MsgBox "aborto"
Else
If pablo = vbCancel Then
MsgBox "cancelo"
Else
If pablo = vbRetry Then
MsgBox "retrayo"
Else
If pablo = vbIgnore Then
MsgBox "ignoro"
End If
End If
End If
End If
End Sub

apreto cancelar, aceptar sin un valor, exit, lo que sea, y no los capta, no se por que
__________________
-- Nunca te des por vencido, aún vencido -- Web
  #2 (permalink)  
Antiguo 01/01/2008, 17:21
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
Re: Excel: Cancelar un InputBox?

Hola! Pablus00.
La explicación es sencilla: sin importar lo que hayas escrito en el cuadro de diálogo, cuando presionas "Cancelar" o "Cerrar" la función InputBox SIEMPRE devuelve una cadena vacía ("").

Por ello los parámetros vbAbort, vbCancel, vbRetry ó vbIgnore NUNCA se verifican en este entorno.

Saludos y Feliz 2008
  #3 (permalink)  
Antiguo 01/01/2008, 18:05
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
Re: Excel: Cancelar un InputBox?

ok, gracias mrocf, o sea qeu cancelar, cerrar y aceptar sin un valor ingresado todos dan ""?, ojala que no sea asi, ya que resultaria muy limitado
__________________
-- Nunca te des por vencido, aún vencido -- Web
  #4 (permalink)  
Antiguo 01/01/2008, 19:47
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
Re: Excel: Cancelar un InputBox?

Mira: Una alternativa un poco más elaborada que "InputBox" es "Application.InputBox".
Lee sobre este método. En particular, mira el uso del argumento "Type".

Y si no te sirve, debes "rumbear" para el lado de los cuadros de texto (TextBox).
  #5 (permalink)  
Antiguo 09/02/2008, 06:48
 
Fecha de Ingreso: febrero-2008
Mensajes: 1
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Excel: Cancelar un InputBox?

Creo que aquí va una opción:

While comodin = False
producto = (InputBox("Introduce el nombre del producto", "Producto", " "))
If producto = "" Then
Exit Sub
End If
If producto.Trim = "" Then
MsgBox("Debes introducir una descripción del producto", MsgBoxStyle.Critical)

....

Es decir, ponemos por defecto un valor " ", con lo cual si se le da a aceptar nunca le pasará un "", sino o bien la cadena introducida o bien " ", con un espacio.
Si se le da a Cancelar le pasará "" y saldremos del procedimiento.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:43.