Página 1 de 1

[RESUELTO] Macro que no devuelva el mismo valor dos veces

NotaPublicado: Sab Jul 15, 2017 1:05 am
por macumazahn
Buenas, quizá el título no es el más idóneo para que otros usuarios puedan buscarlo llegado el caso, pero describe el problema bastante bien.

Estoy usando una hoja de cálculo como apoyo al estudio, de manera que en una hoja tengo diferentes preguntas y en otra con una macro genero cuestionarios aleatorios.
Lo que no sé cómo evitar, es que en los cuestionarios me salga una misma pregunta dos veces, lo cual se da con cierta frecuencia.

¿A alguien se le ocurre como mejorar la macro para evitar que ésto suceda?

Uso LibreOffice 4.1 y Windows 7

Saludos y gracias

Re: Arreglar macro para que no devuelva el mismo valor dos v

NotaPublicado: Sab Jul 15, 2017 4:23 am
por gustavodiaz00
Hola, se me ocurre que cuando generes el número aleatorio lo compares con todas las celdas del rango que que se usen y si no esta lo ingreses, asi evitas que si el numero aleatorio que genera es repetido no ingreses la pregunta y generes otro hasta completar el rango.

Re: Arreglar macro para que no devuelva el mismo valor dos v

NotaPublicado: Sab Jul 15, 2017 5:37 am
por gustavodiaz00
Modifique un poco el codigo espero que te sirva.

Re: Arreglar macro para que no devuelva el mismo valor dos v

NotaPublicado: Sab Jul 15, 2017 9:45 am
por macumazahn
Va prácticamente perfecto. Muchas gracias.

Sólo hay un detalle, que no termino de ver por qué sucede. He acortado el número de preguntas para observar más rápidamente que tal funciona tu versión primero a 49 preguntas disponibles en el temario y luego a 40 (manteniendo las 30 preguntas aleatorias del cuestionario) y he observado que la última de ellas sí es susceptible de aparecer repetida. En el ejemplo de 40 preguntas disponibles, la número 40 sí puede salir repetida.

Saludos

Re: Arreglar macro para que no devuelva el mismo valor dos v

NotaPublicado: Sab Jul 15, 2017 4:13 pm
por gustavodiaz00
Hola Fijate que lo que puede estar mal es el rango de busquda A3:A32.
Proba con modificar los datos de las celdas.
O lo otro que puede estar mal es en que momento se cumple la condicion de salida en el lazo do.

Revisalo y yo creo que ajustando bien esos datos debería andar bien.

Y paciencia amigo en libreOffice u OpenOffice vas a poder hacer muchas cosas, buscando y preguntando se consiguen muchas cosas que podes estudiar y modificar para tus necesidades.

Re: Arreglar macro para que no devuelva el mismo valor dos v

NotaPublicado: Mié Jul 19, 2017 11:27 am
por macumazahn
Muchas gracias, seguiré dándole vueltas y si consigo mejorar el resultado, ya vendré a ponerlo por si a alguien más le sirve.
Mientras tanto doy el tema por resuelto.
Gracias de nuevo Gustavo!