席替え用の席順を作る前回は、机に順番に番号をふるというマクロを作りましたが、席替えをする場合は、ランダムな席順が良いということもあります。何かの作業グループなどを作るときは、ランダムな方がいいですよね。そこで今回は乱数を発生させて、その数値を利用して席順を作ります。マクロ79回サンプルデータ)席替え用に乱数を生成するさてランダムな値を発生させるには、RAND関数を使うことができます。机に乱数をわりあてた席順用のシートと作業用のシートを使って、下図のようにランダムな席番号を入力するマクロを作成します。サンプルでは、生徒が40人、机が40個という設定です。A列には1から40までの番号がふってあり、隣の列にはRAND関数を使って乱数を入力します。B列に乱数を生成するコードは以下のようになります。すべてのモジュールで使えるようにパブリック変数を宣言しています。Sub続いてC列には、B列の数値(乱数)にもとづいて順番をつけます。ワークシート関数のRANK関数を使った数式を使いC列に入力します。Subマクロを実行すると下図のようになり、生徒番号の列に順番が入力されます。座席表に乱数の順番を転記する最後に作業用のシートに記入された順番を席順シートの机に転記しましょう。これには、2013_macro_78.htmで使った2重構造のFor文をそのまま利用します。その前に、生徒番号の順番を1次元配列として格納してしまいましょう。配列に番号を格納することでコードがシンプルになります。配列を宣言して、格納するまでのコードです。Sub今までのコードを一つにまとめると、以下のコードになります。sheetobj1で席順シート用のマクロを記述しています。これをもとに席替えを行います。