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

#1 Alex V.
26/11/2008 - 18:09 | Informe spam
Podrías usar:
If x = "" Then Exit Sub


Saludos

Alejandro Villarreal




"Jose" wrote:

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
Respuesta Responder a este mensaje
#2 Juan M
26/11/2008 - 18:25 | Informe spam
hola Jose,

Se me ocurren dos opciones,

Una crear en la cadena de texto una vía de escape, Por ejemplo: que el
mensaje que muestras en el inputbox indiques,
escribe 0 para terminar y luego compruebas la cadena devuelta.

O crear tu propio inputbox

Creas un formulario colocas un control label, un textbox, dos botones, a uno
le pones cancelar y a otro aceptar.
Y en función de cual presiones dices que haces.

Un saludo,
Juan

"Jose" escribió
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
Respuesta Responder a este mensaje
#3 Jose
26/11/2008 - 19:02 | Informe spam
Gracias por las respuestas,

Alex la solución que me das ya la había probado pero me daba error...

A lo mejor lo que me dice Juan del control label podría valer pero no
controlo tanto de ese tema... Si no encuentro solución lo intentaré por ahí.
Respuesta Responder a este mensaje
#4 Héctor Miguel
26/11/2008 - 21:34 | Informe spam
hola, Jose !

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

saludos,
hector.
Respuesta Responder a este mensaje
#5 Jose
29/11/2008 - 16:30 | Informe spam
"Héctor Miguel" wrote:

hola, Jose !

> 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

saludos,
hector.








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

Gracias.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida