Puedes hacerlo de varias formas:
1º/ Usando una colección:
Dim i As Integer
Set A = New Collection
Dim temp As Integer
Randomize
Do Until A.Count = 5 'Aquí el número de elementos (tus variables) que quieres obtener
temp = Int(5 * Rnd) + 1 'Con esta linea generas un número entre 1 y 5
On Error Resume Next
A.Add temp, CStr(temp)
On Error GoTo 0
Loop
Para recuperar el valor de los elementos de la colección, por ejemplo para asignarlo a un cuadro de texto, harías:
Me.CuadroTexto1=A(1)
Me.CuadroTexto2=A(2)
y así sucesivamente.
2º/ Usando una matriz o Array:
Dim i As Integer, j As Integer
Dim A(1 To 5) As Integer 'Aquí indicas el número de elemento de tu matriz (tus variables)
Dim temp As Integer
Randomize
A(1) = Int(5 * Rnd) + 1
For i = 2 To 5
Genera:
temp = Int(5 * Rnd) + 1
For j = 1 To i - 1
If A(j) = temp Then
GoTo Genera
Else
A(i) = temp
End If
Next j
Next i
De nuevo, para recuperar el valor de los distintos elementos de la matriz harías:
Me.CuadroTexto1=A(1)
Me.CuadroTexto2=A(2)
3º/ Hacerlo "a las bravas", con 5 variables:
Dim a1 As Integer, a2 As Integer, a3 As Integer, a4 As Integer, a5 As Integer
Randomize
a1 = Int(5 * Rnd) + 1
Do
a2 = Int(5 * Rnd) + 1
Loop Until a1 <> a2
Do
a3 = Int(5 * Rnd) + 1
Loop Until a1 <> a3 And a2 <> a3
Do
a4 = Int(5 * Rnd) + 1
Loop Until a1 <> a4 And a2 <> a4 And a3 <> a4
Do
a5 = Int(5 * Rnd) + 1
Loop Until a1 <> a5 And a2 <> a5 And a3 <> a5 And a4 <> a5