Excel で指定した文字列をランダムにあるセルに表示する。
この記事は自分用の覚書です。
エクセルであらかじめ作っておいた複数の文字列を、あるセルにランダムに表示する。
■前提
Windows7 Home Premium + Excel2010
VAIO VPCJ1
sheet1とsheet2を使用。シート名は標準のまま。
sheet1のA列2行目から文字列の一覧を作る。
sheet2のA1にボタンを作成し、クリックしたらB2にsheet1に作った一覧から文字がランダムに表示されるようにする。
エクセルのファイルは任意のファイル名を付けて、マクロ有効ブックとして保存。
■sheet1
A1には「単語」など適当に入力。
A2から下に必要な数だけ文字列を入力。
■sheet2
「開発」タブから「Visual Basic」を起動。
(「ファイル」タブ-「オプション」-「リボンのユーザー設定」で、画面右にある「開発」にチェックが入っていないと「開発」タブは表示されない。)
メニューの「挿入」から「標準モジュール」を選んで、次のコードを入力。
Sub 再計算()
'
' エフ9キーを押す操作 Macro
'
Calculate
End Sub
B2に次の式を入力。
=INDIRECT("sheet1!A"&RANDBETWEEN(2,COUNTA(Sheet1!$A:$A)))
「開発」タブの「コントロール」グループの「挿入」からフォームコントロールの「ボタン」を選んで、A1にボタンを作成。
「マクロの登録」でマクロ名「再計算」を選択。
作ったボタンをクリックすると、B2の文字がランダムに変わる。
・留意点
sheet1のシート名を変えたら、sheet2のB2の式で2か所のsheet1も同じように変える。
sheet1のA列で文字を入れた行を削除したり追加すると、sheet2でランダムに表示する文字の個数も応じて変わる。
| 固定リンク
コメント