You're a braver man than me, posting a goto liek that on this forum. Everyone seems to hate it with a passion.

Also i can't see where you set looper back to zero any where in the loop.
Code:
  Dim RndNum As Integer
  Dim RecordRndNum(200) As Integer
  Dim KeepRecordPlace As Integer
  Dim Matches As Integer
  Dim looper As Integer
  
  While Matches <> 1
    Matches = 0
    
    Randomize
    RndNum = Int(Rnd * 84) + 1
  
    RecordRndNum(KeepRecordPlace) = RndNum
    KeepRecordPlace = KeepRecordPlace + 1
  
    Do While looper <= 200
      If RndNum = RecordRndNum(looper) Then
        Matches = Matches + 1
      End If
      looper = looper + 1
    Loop
  
    If Matches > 1 Then
      KeepRecordPlace = KeepRecordPlace - 1
    End If
    
  Wend
  
  Counter = RndNum