Randomクラスには、乱数を得るためのメソッドがいくつか用意されています。 求める乱数の型・値域によって、次のメソッドを使い分けることができます。 いずれも得られる乱数の値域は半開区間(n以上m未満)となっています。

NextDoubleメソッド
0.0以上1.0未満の乱数を実数(Double)で取得する。 [0.0, 1.0)
Nextメソッド
乱数を整数(Int32)で取得する。 以下のオーバーロードが用意されている。
Next()
0以上の乱数を取得する。 [0, Int32.MaxValue)
Next(max)
0以上max未満の乱数を取得する。 [0, max)
Next(min, max)
min以上max未満の乱数を取得する。 [min, max)

なお、NextDoubleメソッドには任意の値域を指定するバージョンは用意されていないため、NextDoubleの戻り値を加減乗除して求める値域に変換する必要があります。

Random.NextDoubleメソッドで実数の乱数を生成する
Imports System

Class Sample
  Shared Sub Main()
    Dim rand As New Random()

    For i As Integer = 1 To 20
      ' 0以上1未満の乱数を生成したのち、値域を0以上2未満に変換する
      Console.Write("{0:F1}, ", 2.0 * rand.NextDouble())
    Next
    Console.WriteLine()

    For i As Integer = 1 To 20
      ' 0以上1未満の乱数を生成したのち、値域を-1以上+1未満に変換する
      Console.Write("{0:F1}, ", 2.0 * rand.NextDouble() - 1.0)
    Next
    Console.WriteLine()
  End Sub
End Class
実行結果の一例
1.8, 2.0, 1.7, 1.5, 0.3, 0.3, 0.6, 0.0, 0.1, 1.3, 1.7, 0.1, 1.1, 0.5, 2.0, 0.2, 1.1, 1.1, 1.7, 1.4, 
0.3, -0.2, 0.7, -0.9, -0.8, -0.1, 0.8, -0.3, -0.0, -0.3, 0.6, -0.8, 0.5, 0.5, 0.3, 0.7, -0.3, 0.9, 0.8, -0.1,