This is a VB.Net version of Jon Skeet's Shuffle() from here:
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Static rnd As New Random
Dim questions(14) As String
' ...
Dim PickedQuestions = questions.Shuffle(rnd).Take(4).ToArray()
For i As Integer = 0 To PickedQuestions.Length - 1
Debug.Print("PickedQuestions(" & i & ") = " & PickedQuestions(i))
Next
End Sub
End Class
Module Module1
' VB.Net Conversion of Jon Skeet's Shuffle() from: https://stackoverflow.com/a/1287572/2330053
<System.Runtime.CompilerServices.Extension> _
Public Iterator Function Shuffle(Of T)(source As IEnumerable(Of T), rng As Random) As IEnumerable(Of T)
Dim elements As T() = source.ToArray()
For i As Integer = elements.Length - 1 To 0 Step -1
Dim swapIndex As Integer = rng.Next(i + 1)
Yield elements(swapIndex)
elements(swapIndex) = elements(i)
Next
End Function
End Module
Okay...here is something a little more "simple":
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Static rnd As New Random
Dim questions(14) As String
For i As Integer = 0 To questions.Count - 1
questions(i) = "Question " & i
Next
Dim tmpQuestions As New List(Of String)(questions)
Dim PickedQuestions As New List(Of String)
For i As Integer = 1 To 4
Dim index As Integer = rnd.Next(tmpQuestions.Count)
PickedQuestions.Add(tmpQuestions(index))
tmpQuestions.RemoveAt(index)
Next
For i As Integer = 0 To PickedQuestions.Count - 1
Debug.Print(i & ": " & PickedQuestions(i))
Next
End Sub