この記事は更新して新しいブログに引っ越しました。
↓↓↓
RAND関数で作る抽選やランダム並べ替えとマクロ|Excel|PCワークLABO
ボタンを押すとランダムに替わるものって?
例えば名簿の順番入れ替え。
ボタンを押すたびに違う並び順(名前が入れ替わる)になる。
他にも、席順を替えるなど。
ちなみに、私も今のクラスで使っている。
ボタンを押して一瞬で入れ替わるということは・・・?
マクロを使っていくよ!
やり方は後ほど。
そして、入れ替えをするためにはRAND関数と並べ替えを行う。
これも後ほど。
元となるデータの「マスタシート」を作る
まずは、マスタとなるデータを別シートに作っておこう。
シート名は「マスタ」にしておく。
こうすると、メンバーが変わっても「マスタシート」の氏名を変えるだけで
他は一切変えなくていい。
【C列】にRAND関数を入れればマスタは完成だ。
RAND関数
0以上で1より小さい乱数を発生させる。
つまり、RAND関数を使うと1未満のランダムな数字が表示されてくる。
※引数は入れないのでこれで完成。
※数字の更新は≪F9≫を押す。
【C2】にRAND関数を入れよう。
=RAND()
この関数を入れて確定(Enter)すれば1未満の数字が表示されてくる。
※数字は人によって違うし、何かが更新されるたびにRAND関数の入っているセルの
数字は変わってくるよ。
では、計算式を下までコピーしよう。
【C2】のセル右下にあるフィルハンドルをダブルクリック。
すべてのセルにランダムな数字が表示された。
≪F9≫キーを押してみよう。
押すたびにデータを更新する。セルを選択している必要はない。
※ファンクションキー(キーボードの一番上に並んでいる)のF9のこと。
セルを選択しなくても、RAND関数の入っているセルすべての数字が変わった。
ここで【C列】を並び替えすれば氏名もそれに合わせて替わることになる。
並べ替え
並べ替えは、並べ替えたい列のうちどれか1つのセルを選択する。
その列内だったらどのセルでもOK
今回は昇順(小さい順)にしてみよう。
【C列】の中の1つのセルを選択したら、
[データ]タブー並べ替えとフィルターグループの[昇順]ボタンを押す。
昇順ボタンは”A→Z”となっているボタンで、小さい順になる。
【C列】に合わせて【A列】も【B列】も一緒に移動してくれる。
ちなみに、元の並び順が必要な場合は、このマスタのように
【A列】に連番となる№を入力しておくといい。
【A列】の中のセル1つを選択して昇順ボタンを押せばいつでも元の順番に戻る。
並べ替えの条件が2つ以上だったり、色で並べ替えたい時は、
右側の[並べ替え]ボタンを使う。
※今回は単に順番が替わればいいので「昇順」ボタンでいい。
結果を表示する「順番シート」を作る
ボタンを押したら表示される側の「順番シート」を作る。
今回の表は簡単なもの。
入れる計算式は1つだけ。
「マスタシート」の【B列】を参照すればいい。
「順番シート」の【B2】のセルにカーソルをおき、”=”と入力後、マスタシートの【B2】を
クリックしてEnter。
表示される計算式はこれ。
=マスタ!B2
※”!”は、違うシートのセルを参照する時に表示される。”!”マークの前がシート名。
ここでは、マスタシートの【B2】セルの内容を表示するよってことになる。
続けて【B2】のセル右下のフィルハンドルでダブルクリックすれば完成。
マスタの【B列】が表示されるようになった。
ランダムな並べ替えをする
≪F9≫キーでRAND関数設定セルの数字がランダムに替わることがわかった。
※「マスタシート」の【C列】のこと。
≪F9≫キーを押した後、変更された【C列】で昇順などの並べ替えをする。
これで「順番シート」の表示は自動で変更されてくる。
「順番シート」は「マスタシート」の【B列】を参照しているからね。
ではもう一度・・・
↓
「マスタシート」の【C列】で昇順ボタンを押す
以上!!
これだけで「順番シート」のランダム並べ替えが完成するのだ!
この流れをマクロに記録してボタンに適用すれば、シャッフルボタンの出来上がりとなる!
ランダム並べ替え(シャッフル)のマクロを記録する
今回はマクロ記録の流れを一気に書くよ。
[表示]タブ-マクログループの[マクロ]ボタンから「マクロの記録」を選択。
マクロの記録ダイアログボックスが出てくるので、名前を登録する。
今回は「シャッフル」としよう。あとはそのまま。
[OK]ボタンを押す。
これから先の操作は全て裏でVBAとなって記録されていく。
②≪F9≫キーを押す。
③「マスタシート」の【C1】をクリック。(C列ならどこでもいい)
④[データ]タブー並べ替えとフィルターグループの[昇順]ボタンを押す。
⑤「順番シート」の【A1】をクリック。
⑥[表示]タブ-マクログループの[マクロ]ボタンから「記録終了」を選択。
※記録終了を押し忘れると、ずーっと記録し続けるから注意!
これでマクロの記録ができた。
シャッフルボタン(マクロを実行するボタン)を作る
図形を使って下のようなシャッフルボタンを作ろう。
図形でボタンを作る
図形は何を使ってもOK!
ちなみに上の図形は角丸四角形で描き、
図形の塗りつぶしから「青、アクセント5、黒+基本色50%」を選択。
さらに図形の効果から「標準スタイル1」を適用している。
図形を選択して「シャッフル」と打てば文字が入る。
図形にマクロを適用する
図形の上で右クリックし「マクロの登録」を選択する。
マクロの登録ダイアログボックスが出てくるので、適用したいマクロ(シャッフル)を選択して
[OK]ボタンを押す。
図形にマウスポインタを合わせると手のマークに変わる。
これで完成。
シャッフルボタンを押してみよう。
押すたびに順番が並べ替えられるかな?
≪Ctrlキー≫を押しながらクリックすると図形として触れるようになる。
マクロを登録したファイル(ブック)は拡張子を変えて保存
せっかくマクロの記録をしても、いつものExcelファイル(ブック)に保存しては意味がない。
それではマクロは有効にならないのだ。
保存する時は拡張子を変える必要がある。
ファイルの種類を識別するもので、ファイル名の最後につく。
.(ピリオド)から始まる半角のアルファベット。
パソコンはこの拡張子から、どのアプリケーションで開くか識別している。
※通常のパソコンでは拡張子は表示されないが、表示タブの拡張子にチェックを
入れると表示されるようになる。
Excelは通常「.xlsx」という拡張子だが、マクロ有効ファイル(ブック)は「.xlsm」となる。
マクロの「m」がつくよ。
拡張子を変えて保存するには、
名前を付けて保存から(ショートカットは≪F12≫キー)
ファイルの種類を「Excel マクロ有効ブック」に変更すればいい。
※この時、拡張子を表示にチェックが入っているパソコンは図のように拡張子まで表示される。
マクロ有効ブックを開いた時に「セキュリティの警告」が出る場合がある。
自分が作ったファイルや信用のあるファイルは「コンテンツの有効化」を押さないとマクロが実行できなくなるから注意。
ただし、知らないファイルはマクロを使って何されるかわからないから有効化しちゃダメだよ。