
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim num_casuale As Integer 'variabile che contiene il numero che va da 0 a 9
Dim num_tentativi As Integer 'variabile che contiene il numero di tentativi (3)
Dim x As Integer 'variabile che contiene il numero inserito dall'utente
num_tentativi = 0 'contatore per il numero dei tentativi (3)
Do While num_tentativi <= 3 'inizio il ciclo
Randomize
num_casuale = Int((9 - 0 + 1) * Rnd + 0)
If TextBox1.Text = "" Then
MsgBox "Attenzione! Devi inserire un numero.", vbExclamation, "Excel e VBA"
TextBox1.SetFocus
Exit Sub
Else
x = TextBox1.Text
End If
If x > num_casuale Then 'se il numero inserito dall'utente è minore del num_casuale
MsgBox "Attenzione! Il numero inserito è alto.", vbExclamation, "Excel e VBA"
TextBox1.SetFocus
Exit Sub
ElseIf x < num_casuale Then 'se il numero inserito dall'utente è minore del num_casuale
MsgBox "Attenzione! Il numero inserito è basso.", vbExclamation, "Excel e VBA"
TextBox1.SetFocus
Exit Sub
ElseIf x = num_casuale Then 'se il numero inserito dall'utente è uguale al num_casuale
MsgBox "Bravo! Il numero inserito è uguale al numero estratto.", vbExclamation, "Excel e VBA"
TextBox1.SetFocus
Exit Sub
End If
Loop 'Il ciclo si ripete finché il numero di tentativi non arriva a 3
Label4.Caption = num_casuale 'Mostro il numero nella label estratto se è uguale a quello inserito dall'utente
Application.ScreenUpdating = True
End Sub |
Option Explicit
Private num_casuale As Integer
Private Sub UserForm_Initialize()
TextBox2 = 1
num_casuale = Int(10 * Rnd)
Label4.Caption = ""
End Sub
Private Sub CommandButton1_Click()
Dim num_tentativi As Integer 'variabile che contiene il numenro di tentativi (3)
Dim x As Integer 'variabile che contiene numero inserito dall'utente
Dim y As Boolean
Randomize Timer
If TextBox2.Value < 3 Then
If TextBox1.Text = "" Then
MsgBox "Attenzione! Devi inserire un numero.", vbExclamation, "Excel e VBA"
TextBox1.SetFocus
Exit Sub
End If
x = TextBox1
If x > num_casuale Then 'se il numero inserito dall'utente è minore del num_casuale
MsgBox "Attenzione! Il numero inserito è alto.", vbExclamation, "Excel e VBA"
y = False
ElseIf x < num_casuale Then 'se il numero inserito dall'utente è minore del num_casuale
MsgBox "Attenzione! Il numero inserito è basso.", vbExclamation, "Excel e VBA"
y = False
ElseIf x = num_casuale Then 'se il numero inserito dall'utente è uguale al num_casuale
y = True
End If
TextBox1.SetFocus
TextBox2 = TextBox2 + 1
If y Then
TextBox1.SetFocus
MsgBox "Indovinato! Il numero inserito è uguale al numero estratto.", vbExclamation, "Excel e VBA"
Label4.Caption = num_casuale 'Mostra il numero nella label estratto se è uguale a quello inserito dall'utente
End If
Else
MsgBox "Sono finiti i tentativi a disposizione e non hai indovinato :(" & vbCrLf & _
"Il numero segreto era: " & num_casuale, vbExclamation, "Excel e VBA"
End If
End Sub
Private Sub CommandButton2_Click()
TextBox1.Text = ""
TextBox2 = 1
Label4.Caption = ""
TextBox1.SetFocus
End Sub
Private Sub CommandButton3_Click()
Unload Me
End Sub
|
x = TextBox1
If TextBox1 Like "*[!0-9]*" Then
MsgBox "Attenzione! Sono accettati solo numeri. Riprova!", vbExclamation, "Excel e VBA"
TextBox1.SetFocus
Exit Sub
End If
x = TextBox1 |
