SERÁ POSIBLE...

07/11/2007 - 21:53 por ubeosorio | Informe spam
Hola Grupo,

Muchas gracias por tadas las ayudas que me han dado.

Ahora estoy haciendo en la "Hoja 1" una encuesta que me deben
responder varias personas, cada vez que cada persona termine de
ingresar su respectiva información una Macro llevará los datos a la
"Hoja 2" donde se almacenan en una base de datos...

El problema es que algunas personas no ingresan las respuestas de
algunas preguntas principales...

¿¿¿Será posible... un codigo en la macro que pasa los datos de la
Hoja1 a la base de datos verifique que las celdas B3, C4, F5, D6,
E7:G7, D9, C10:F10. ... NO esten vacias, y me interrumpa la opción de
guardar????

Muchas Gracias

Ubeimar

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
08/11/2007 - 02:11 | Informe spam
hola, Ubeimar !

... en la "Hoja 1" una encuesta que me deben responder varias personas
cada vez que cada persona termine de ingresar su respectiva informacion
una Macro llevara los datos a la "Hoja 2" donde se almacenan en una base de datos...
El problema es que algunas personas no ingresan las respuestas de algunas preguntas principales...
Sera posible... un codigo en la macro que pasa los datos de la Hoja1 a la base de datos
verifique que las celdas B3, C4, F5, D6, E7:G7, D9, C10:F10. ...
NO esten vacias, y me interrumpa la opcion de guardar?



prueba con alguna instruccion que verifique la cuenta de celdas con datos en el rango que necesites
y en caso de no ser completa, no se ejecute el resto de las instrucciones de "pase" (avisando opcionalmente ?)

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 ubeosorio
08/11/2007 - 03:28 | Informe spam
> verifique que las celdas B3, C4, F5, D6, E7:G7, D9, C10:F10. ...
> NO esten vacias, y me interrumpa la opcion de guardar?

prueba con alguna instruccion que verifique la cuenta de celdas con datos en el rango que necesites
y en caso de no ser completa, no se ejecute el resto de las instrucciones de "pase" (avisando opcionalmente ?)

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.





Gracias Hector,

realmente conozco muy poco de los codigos de VBA, pero me imagino que
con una formula condicional por ejemplo
=si(o(B3;C4,F5;...)="";"Reintentar";"Los Datos se hanguardado")

pensaba en un UserForm o MsgBox, pero tengo poca experiencia en ellos
y no se como hacer para que desde cualquiera de ellos se ejecute la
formula, mas aun cual es el más adecuado en este caso, el UserForm o
MsgBox-

Gracias nuevamente Hector por tu valiosa ayuda, pues haz hecho que me
apasione por este tipo de herramientas.

Ubeimar
Respuesta Responder a este mensaje
#3 Héctor Miguel
08/11/2007 - 06:04 | Informe spam
hola, Ubeimar !

verifique que las celdas B3, C4, F5, D6, E7:G7, D9, C10:F10. ...
NO esten vacias, y me interrumpa la opcion de guardar?



prueba con alguna instruccion que verifique la cuenta de celdas con datos en el rango que necesites
y en caso de no ser completa, no se ejecute el resto de las instrucciones de "pase" (avisando opcionalmente ?)



realmente conozco muy poco de los codigos de VBA, pero me imagino que con una formula condicional por ejemplo
=si(o(B3;C4,F5;...)="";"Reintentar";"Los Datos se hanguardado")
pensaba en un UserForm o MsgBox, pero tengo poca experiencia en ellos y no se como hacer para
que desde cualquiera de ellos se ejecute la formula, mas aun cual es el mas adecuado en este caso, el UserForm o MsgBox-



asumiendo que "las celdas" que no deben quedar vacias son las que expusiste originalmente (dude por los "...") :))
prueba usando una constante donde pongas las celdas y/o rangos como texto separado por comas y dos puntos
y lineas de codigo +/- como las siguientes para la macro con la que haces el pase de datos del formulario a la base de datos:

Private Const Celdas As String = "b3,c4,f5,d6,e7:g7,d9,c10:f10"
Sub Respalda_info()
With Range(Celdas)
If Evaluate("counta(" & .Address & ")") <> .Count Then
MsgBox "Hace falta completar la informacion de algunas celdas..."
.Select
Exit Sub
End If
End With
MsgBox "Informacion completa... prosiguiendo con el registro..."
End Sub

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#4 ubeosorio
08/11/2007 - 08:10 | Informe spam
On 8 nov, 00:04, "Héctor Miguel"
wrote:
hola, Ubeimar !

>>> verifique que las celdas B3, C4, F5, D6, E7:G7, D9, C10:F10. ...
>>> NO esten vacias, y me interrumpa la opcion de guardar?

>> prueba con alguna instruccion que verifique la cuenta de celdas con datos en el rango que necesites
>> y en caso de no ser completa, no se ejecute el resto de las instrucciones de "pase" (avisando opcionalmente ?)

> realmente conozco muy poco de los codigos de VBA, pero me imagino que con una formula condicional por ejemplo
> =si(o(B3;C4,F5;...)="";"Reintentar";"Los Datos se hanguardado")
> pensaba en un UserForm o MsgBox, pero tengo poca experiencia en ellos y no se como hacer para
> que desde cualquiera de ellos se ejecute la formula, mas aun cual es el mas adecuado en este caso, el UserForm o MsgBox-

asumiendo que "las celdas" que no deben quedar vacias son las que expusiste originalmente (dude por los "...") :))
prueba usando una constante donde pongas las celdas y/o rangos como texto separado por comas y dos puntos
y lineas de codigo +/- como las siguientes para la macro con la que haces el pase de datos del formulario a la base de datos:

Private Const Celdas As String = "b3,c4,f5,d6,e7:g7,d9,c10:f10"
Sub Respalda_info()
With Range(Celdas)
If Evaluate("counta(" & .Address & ")") <> .Count Then
MsgBox "Hace falta completar la informacion de algunas celdas..."
.Select
Exit Sub
End If
End With
MsgBox "Informacion completa... prosiguiendo con el registro..."
End Sub

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.



Increible!!!!, Gracias Hector, siempre con la solución!!!!

Pero te molesto nuevamente...

lo de los (...) es porque hay mas celdas a referenciar, pero para no
escribirlas todas...

Será muy dificil hacer que me indique la macro con un MsgBox cual o
cuales celdas estan en blanco o decir por ejemplo: "no ha contestado a
la pregunta Nº 1, 4, 6"

disculpame si estoy abusando

Muchas gracias

Ubeimar
Respuesta Responder a este mensaje
#5 Héctor Miguel
08/11/2007 - 21:24 | Informe spam
hola, Ubeimar !

__ 1 __
lo de los (...) es porque hay mas celdas a referenciar, pero para no escribirlas todas...


__ 2 __
Sera muy dificil hacer que me indique la macro con un MsgBox cual o cuales celdas estan en blanco
o decir por ejemplo: "no ha contestado a la pregunta Nº 1, 4, 6"



1) por eso es que sugeri usar la variable constante para que indiques (todas) las celdas una sola vez ;)

2) podrias hacer un bucle recorriendo cada una de las celdas (en la variable constante)
revisando cual/es quedaro/n vacia/s y mostrar la informacion (p.e.) en un mensaje...
o seleccionar solo las que quedaron vacias...
(lo que no "veo" es como identificar a cual numero de pregunta corresponderia cada celda omitida o vacia) -?-

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida