Visual Basic para Aplicaciones - Juego preguntas y respuestas sobre futbol

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 286
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Juego preguntas y respuestas sobre futbol

Publicado por fjpg (135 intervenciones) el 16/04/2020 12:20:44
Hola, buenas.

Estoy tratando de hacer un juego de preguntas y respuestas sobre futbol. (5 niveles x 15 preguntas cada nivel)

Tengo el codigo para la primera respuesta y funciona de pm. Pero si repito ese codigo para las otras 14 preguntas el codigo quedará inmenso.

Lo coloque haciendo 8 o 9 preguntas, pero le cuesta pensar a excel.

Si puede ser, necesitaria reducir ese codigo lo maximo posible para que no hubiesen problemas.

Dejo el archivo.

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 286
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Juego preguntas y respuestas sobre futbol

Publicado por fjpg (135 intervenciones) el 20/04/2020 18:54:48
Lo he enfocado de otra manera...

Voy a hacer una BBDD y en un form ire generando aleatoriamente una pregunta.

Lo tengo bastante montado.

Pero a la hora de seleccionar el optiumbutton estoy estancado. Si hago la prueba solo con el primer optiumbutton, me funciona bien, si está o no bien, me contabiliza el acierto o el error.

Pero si copio y adaptado el codigo al segundo optiumbutton me genera los mismo msgbox y me contabiliza dos veces los errores y los aciertos.

Pongo el codigo, y si no queda claro, subire el archivo.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
'SI ACERTAMOS
    If OptionButton1.Caption = Hoja2.Range("I14").Value Then
       OptionButton1.BackColor = RGB(0, 255, 0)
        Hoja2.Range("C19").Value = Hoja2.Range("C19").Value + 1
        puntos = Hoja2.Range("C19").Value
        lb_puntos1.Caption = puntos
        MsgBox "Respuesta correcta", vbInformation, "HISTORIA DE FÚTBOL"
    Else
    'SI FALLAMOS
        OptionButton1.BackColor = RGB(255, 0, 0)
        MsgBox "Respuesta incorrecta", vbInformation, "HISTORIA DE FÚTBOL"
        Hoja2.Range("C5").Value = Hoja2.Range("C5").Value + 1
        error = Hoja2.Range("C5").Value
        lb_fallos1.Caption = error
    end if
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 286
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Juego preguntas y respuestas sobre futbol

Publicado por Fjpg (135 intervenciones) el 25/04/2020 00:43:05
Ya lo tengo...
No creo, que sea la mejor solución, pero funciona perfecto...
Coloque un label con la respuesta correcta y un textox para que pasara el caption del optionbutton seleccionado...
Después, iguale los dos caption, el del label y el del textbox...

Y perfecto...

Ahora a rellenar la bbdd de preguntas y repsuestas.

Gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 286
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Juego preguntas y respuestas sobre futbol

Publicado por fjpg (135 intervenciones) el 01/05/2020 18:54:10
Necesitaria una ayuda.

Me funciona casi perfecto el juego. el unico pero que muchas veces me genera repetido el numero. Igual de 15 veces me lo repite 3,4 o 5 veces.

El codigo que tengo para generar el numero aleatorio en una celda es:

1
2
3
4
5
6
7
8
9
10
11
12
13
Sub aleatorio()
'
' aleatorio Macro
'
    Hoja2.Select
    Range("M2").Select
    ActiveCell.FormulaR1C1 = "=RANDBETWEEN(1,100)"
    Range("M2").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
End Sub

Necesitaria una modificacion o un codigo nuevo para que me genere 15 veces un numero aleatorio sin repetir.

El juego funciona asi:

En el form, mediante el boton "GENERAR PREGUNTA" genero un numero en una celda de la hoja "PREGUNTAS". En esa hoja, mediante la formula buscarv, encuentra la pregunta, las opciones y la respuesta correcta de la hoja "BBDD".

Otra vez en el form, igualo el caption de los labels y los optiumbutton a las celdas donde coloque el buscarv.
Coloque un label con la repsuesta correcta, y un textbox con la opcion que selecciono.

Y despues con el boton comprobar, igualo el caption de la repsyuesta correcta con el valor del textbox.

Funciona de pm, pero me falta lo del numero aleatorio sin repeticion.

Alguna ayuda?
GRACIAS!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 286
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Juego preguntas y respuestas sobre futbol

Publicado por fjpg (135 intervenciones) el 15/05/2020 00:16:47
Ya lo tengo acabado.

encontre un codigo rebuscando y lo adapte a mis necesidades.
Queda espectacular!!!!

GRACIAS!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar