Cómo usar vba para implementar ejercicios de suma y resta hasta 100
'Ingrese " " (signo más, sin comillas) en [ak1], ingrese "-" (signo menos, sin comillas) en [ak2]
'También Puede reemplazar "ak"
' en Set Ra = Range([ak1], Range("ak" amp; Cells.Rows.Count).End(xlUp)) con " en el rango visual m ", simplemente ingrese el signo más en [m1] y el signo menos en [m2]
'Para que la columna f aparezca como un cheque o una cruz, establezca la fuente de la columna en "Wingdings 2 "
p>Subpregunta()
Rango("a:f").ClearContents
Atenuar Ra como rango
Si Range("k1 ") gt; 100 Then
Range("k1") = 100
MsgBox "El número de preguntas que ingresó es demasiado. Se ha ajustado a 100 preguntas para usted"
End If
For j = 1 To Val(Range("k1"))
Establezca Ra = Range([ak1], ¿Rango("ak" amp; Cells .Rows.Count).End(xlUp))?
Rango("b" amp; j) = Ra(Int(Rnd() * Ra.Count 1) )
Rango("d" & j) = "="
99:
a = Application.RandBetween(1, 100)
b = Aplicación. RandBetween(1, 100)
Si Range("b" amp; j) = "-" Entonces
Si a gt = b Entonces
Rango ("a" amp; j) = a
Rango("c" amp; j) = b
Else
Rango("c" amp; j) = a
Rango("a" amp; j) = b
Fin si
Fin si
Si Rango( "b" amp; j) = " " Entonces
Si a b lt = 100 Entonces
Rango("a" amp; j) = a;
Rango("c" & j) = b
Si no: Ir a 99
Finalizar si
Finalizar si
Siguiente p>
Fin Sub
Sub Clasificación()
Atenuar rango como rango
n = 0
¿Para cada rng en Range([b1], Range("b" & Cells.Rows.Count).End(xlUp))?
Si rng = " " Entonces
jg = rng( 1, 0) rng(1, 2)
Fin si
Si rng = "-" Entonces
jg = rng(1 , 0) - rng (1, 2)
Finalizar si
Si rng(1, 4)
= jg Entonces
n = n 1
rng(1, 5) = "P"
Si no
rng(1, 5) = "O"
Finalizar si
Siguiente
m = Ronda(n / Val(Rango("k1")) * 100) p>
Si m = 100 Entonces
MsgBox "Eres genial, entendido:" amp; m amp "puntos"
De lo contrario
Si m gt; = 80 Entonces
MsgBox "Felicitaciones, tienes:" amp; m amp "Puntos"
Else
MsgBox "Acabas de recibir it :" amp; m amp; "¡Puntos, aún necesitas trabajar duro!"
End If
End If
End Sub