Option Explicit
Private intNum1 As Integer, intNum2 As Integer, intNum3 As Integer
Private intTries As Integer
Private intMaxNumber As Integer
Private Sub cmbGenerateNumbers_Click()
intTries = 0
'This is for when the user does not enter a maximum number to generate
If intMaxNumber = 0 Then
intNum1 = 4 * Rnd + 1
intNum2 = 4 * Rnd + 1
intNum3 = 4 * Rnd + 1
Do While intNum1 = intNum2 Or intNum1 = intNum3 Or intNum2 = intNum3
intTries = intTries + 1
intNum1 = 4 * Rnd + 1 'Generate random number between one and three
intNum2 = 4 * Rnd + 1 'Generate random number between one and three
intNum3 = 4 * Rnd + 1 'Generate random number between one and three
Loop
lblTriesMessage.Caption = "Number of loop iterations it took to generate three unique numbers between 1 and 5"
'This is for when the user enters a maximum number to generate
Else
intNum1 = (intMaxNumber - 1) * Rnd + 1
intNum2 = (intMaxNumber - 1) * Rnd + 1
intNum3 = (intMaxNumber - 1) * Rnd + 1
Do While intNum1 = intNum2 Or intNum1 = intNum3 Or intNum2 = intNum3
intTries = intTries + 1 'Initialize counter
intNum1 = (intMaxNumber - 1) * Rnd + 1 'Generate random number between one and the users' entered max number
intNum2 = (intMaxNumber - 1) * Rnd + 1 'Generate random number between one and the users' entered max number
intNum3 = (intMaxNumber - 1) * Rnd + 1 'Generate random number between one and the users' entered max number
Loop
lblTriesMessage.Caption = "Number of loop iterations it took to generate three unique numbers between 1 and " & intMaxNumber
End If
lblNum1.Caption = intNum1
lblNum2.Caption = intNum2
lblNum3.Caption = intNum3
lblTries.Caption = intTries
End Sub
Private Sub cmdDone_Click()
Unload Me
End Sub
Private Sub cmdMaxNumber_Click()
intMaxNumber = InputBox("Enter max number to generate", "Max number")
End Sub
Private Sub Form_Load()
Randomize
lblNum1.FontSize = 24
lblNum2.FontSize = 24
lblNum3.FontSize = 24
End Sub