Diferencia entre Metodo y Funcion InputBox

15/02/2006 - 03:38 por José A. Castrejón | Informe spam
Buenas Noches , deseo pedir a un usuario que capture el numero de un pedido
como dato numerico, encuentro 2 opciones pero no se cual es la diferencia :

Numero = InputBox("¿Cual es el Numero ?", "Preguntando")

Numero = Application.InputBox(prompt:=" ¿Cual es el Numero ?",
Title:="Preguntando", Type:=1)

Deseo poder validar lo siguiente :
Si el usuario hace click en "Aceptar" sin haber puesto dato alguno debo
avisar que no debe estar vacia la respuesta, si hace click en "Cancelar"
salir de la rutina

Mi problema es que :
En el primer caso puedo evaluar si la respuesta es ="" pero la respuesta es
la misma proveniendo de "Aceptar" o "Cancelar"
En el segundo caso si hacen click en "cancelar" la respuesta es =falso , la
cual puedo evaluar pero si aprietan "Aceptar" regresa un error de excel como
si fuera un error en una formula...
que debo hacer ?
Debo evaluar si es "aceptar" sin texto, si es "Cancelar" y si el dato que
digitan es numerico, esto ultimo creo que lo define el Type:1 de la segunda
opcion...
No se como resolverlo, gracias.
La ayuda de excel no me dice mucho.
Saludos,
José Antonio Castrejón

Preguntas similare

Leer las respuestas

#1 Manuel Romero
15/02/2006 - 16:28 | Informe spam
Una forma no documentada de evaluar si presionan cancelar en el primer
caso es usando la funcion strptr

dim x as string
x=inputbox("escriba cualquier cosa?")
if strptr(x)=0 then
msgbox "presiono cancelar"
else
if x="" then
msgbox "presiono aceptar con una cadena vacia"
else
msgbox "escribio : " & x
end if
end if

Buenas Noches , deseo pedir a un usuario que capture el numero de un pedido
como dato numerico, encuentro 2 opciones pero no se cual es la diferencia :

Numero = InputBox("¿Cual es el Numero ?", "Preguntando")

Numero = Application.InputBox(prompt:=" ¿Cual es el Numero ?",
Title:="Preguntando", Type:=1)

Deseo poder validar lo siguiente :
Si el usuario hace click en "Aceptar" sin haber puesto dato alguno debo
avisar que no debe estar vacia la respuesta, si hace click en "Cancelar"
salir de la rutina

Mi problema es que :
En el primer caso puedo evaluar si la respuesta es ="" pero la respuesta es
la misma proveniendo de "Aceptar" o "Cancelar"
En el segundo caso si hacen click en "cancelar" la respuesta es =falso , la
cual puedo evaluar pero si aprietan "Aceptar" regresa un error de excel como
si fuera un error en una formula...
que debo hacer ?
Debo evaluar si es "aceptar" sin texto, si es "Cancelar" y si el dato que
digitan es numerico, esto ultimo creo que lo define el Type:1 de la segunda
opcion...
No se como resolverlo, gracias.
La ayuda de excel no me dice mucho.
Saludos,
José Antonio Castrejón
Respuesta Responder a este mensaje
#2 Manuel Romero
17/02/2006 - 22:06 | Informe spam
Pensaria que la diferencia entre los dos metodos es la mas obvia, la
funcionalidad del metodo InputBox de la clase Application es mas amplia
que la que expone la sentencia InputBox de VBA que solo captura
cadenas.

Ademas, la captura del evento Cancelar esta dispuesta en el metodo
devolviendo el valor false, en la sentencia hay que hacer un artificio
con una funcion no documentada.

Gracias por tu respuesta Manuel, realmente me ayudo ésto, ahora bien me
respondiste la parte mas importante, sin embargo me queda la duda, de cual es
la diferencia entre los 2 metodos, segun mi pregunta ?
Probe tu codigo con amas formas y funciona solo que en la segunda forma
regresa un valor Falso cuando presionan cancelar.
Gracias por tu respuesta.


"Manuel Romero" escribió:

Una forma no documentada de evaluar si presionan cancelar en el primer
caso es usando la funcion strptr

dim x as string
x=inputbox("escriba cualquier cosa?")
if strptr(x)=0 then
msgbox "presiono cancelar"
else
if x="" then
msgbox "presiono aceptar con una cadena vacia"
else
msgbox "escribio : " & x
end if
end if

Buenas Noches , deseo pedir a un usuario que capture el numero de un pedido
como dato numerico, encuentro 2 opciones pero no se cual es la diferencia :

Numero = InputBox("¿Cual es el Numero ?", "Preguntando")

Numero = Application.InputBox(prompt:=" ¿Cual es el Numero ?",
Title:="Preguntando", Type:=1)

Deseo poder validar lo siguiente :
Si el usuario hace click en "Aceptar" sin haber puesto dato alguno debo
avisar que no debe estar vacia la respuesta, si hace click en "Cancelar"
salir de la rutina

Mi problema es que :
En el primer caso puedo evaluar si la respuesta es ="" pero la respuesta es
la misma proveniendo de "Aceptar" o "Cancelar"
En el segundo caso si hacen click en "cancelar" la respuesta es =falso , la
cual puedo evaluar pero si aprietan "Aceptar" regresa un error de excel
como si fuera un error en una formula...
que debo hacer ?
Debo evaluar si es "aceptar" sin texto, si es "Cancelar" y si el dato que
digitan es numerico, esto ultimo creo que lo define el Type:1 de la segunda
opcion...
No se como resolverlo, gracias.
La ayuda de excel no me dice mucho.
Saludos,
José Antonio Castrejón





email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida