VBAは、ランダムな値を返す関数を提供します。この関数を単独で使用する必要はありませんが、ランダムな値の使用が必要になる可能性があるより大きなマクロの一部として使用します。関数の構文は次のとおりです。

x = Rnd()

ここで、xは結果です。返される値は常に0から1の間です。これを他のランダムな値に変換するには、結果に考慮したい最大の数値を掛けるだけです。たとえば、1〜25の乱数が必要な場合は、次のコード行を使用できます。

x = Int(25 * Rnd()) + 1

Rndは常に0から1の間の値を返すため(ただし、それ自体は1ではありません)、返す値に25を掛けてから、その結果でInt関数を使用すると、0から24までの数値が返されます。最後に、この結果に1が追加されます。そのため、xは1から25までの数値に等しくなります。

ランダムな浮動小数点数が必要な場合は、このコードからInt関数を削除するだけでは正しく機能しません。代わりに、次の方法で数式を変更する必要があります。

x = (Rnd() * 24) + 1

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(9751)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。