Problema con un inputbox para excel

26/11/2008 - 16:30 por Jose | Informe spam
Tengo una macro en excel que hace que salgan varios inputbox seguidos, pero
lo que quiero es que al pulsar el boton cancelar de alguna inpubox se pare la
macro y no que ponga un 0 y sigan saliendo las demás inputbox.


Sería algo así, pero lo del boton vbCancel solo vale para msgbox, en
inputbox no me funciona. ¿Solución?

x = Val(InputBox("Valor de x", "INTRODUZCA x"))
ActiveSheet.Range("H5").Value = x / 100

If x = vbCancel Then

Exit Sub

End If

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
29/11/2008 - 17:52 | Informe spam
hola, Jose !

Eso ya lo habia pensado, pero el caso es que a veces tengo que poner 0 y no quiero salir de la macro...



entonces... NO uses la funcion Val(...) ya que si el usuario pulsa {esc} el dialogo devuelve una cadena vacia ""
y la funcion => Val(InputBox(...)) <= lo que hace es "convertir" el texto (vacio) en cero (0)
si la omites, podras comprobar si la devolucion ha sido la cadena "" (p.e.)

If x = "" Then Exit Sub

OJO: (por si las dudas) tampoco declares "tipo" a la variable "x"
(en caso de que hayas utilizado p.e. Dim x As Integer <-> deja solo: Dim x

saludos,
hector.

__ OP __
Tengo una macro en excel que hace que salgan varios inputbox seguidos
pero lo que quiero es que al pulsar el boton cancelar de alguna inpubox se pare la macro
y no que ponga un 0 y sigan saliendo las demas inputbox.
Seria algo asi, pero lo del boton vbCancel solo vale para msgbox, en inputbox no me funciona. Solucion?

x = Val(InputBox("Valor de x", "INTRODUZCA x"))
ActiveSheet.Range("H5").Value = x / 100
If x = vbCancel Then
Exit Sub
End If



si ya estas definiendo/convirtiendo a valor el resultado del inputbox... -> x = Val(...
- prueba una salida comparando si el valor debuelto es 0 (cero)...

if x = 0 then exit sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida