エクセルVBAでこんなこともできます -百人一首練習用ゲーム

VBA

エクセルVBAプログラミングの講座を行うとき、最初に「エクセルのプログラミングでこんなこともできるんです」というのを紹介しています。

そこで紹介していることを書いてみます。

百人一首練習用かるたゲーム

エクセルで百人一首のゲームを作ってみました。

  1. 「配る」をクリックすると、100個の句の中から10句を選び出して、下の句が書かれた札を表示します。
  2. 「上の句を読む」をクリックすると、表示されている10枚の札のうちのいずれかの上の句を表示します。
  3. 表示されている札のいずれかのセルを選んだ状態で「取る」をクリックします。
  4. 読まれた上の句に合っている下の句が選択されている場合は、「正解」と表示してから、その下の句の札を消します。
  5. 読まれた上の句と合っていない下の句が選択されている場合は、「まちがい」と表示します。
  6. 2から繰り返して10枚の下の句の札がなくなったらゲームクリアです。

作業用の表を作ることで処理が簡単に

このエクセルファイルの「waka」シートには、100個の和歌が上の句と下の句に分かれてかかれています。「配る」ときにはここから10個の和歌を選択しています。

「取る」をクリックしたときに、選択した札が合っているかどうかを判定します。ここで判定のプログラムを簡単にするために、ちょっと工夫がしてあります。

このエクセルファイルには、「waka」シートのほかに「sagyo」シートという作業用の表が書かれたシートが用意されています。

「配る」をクリックして10個の句を選び出した時点で、その10個の句を作業用シートに書き移して表にしています。そしてそれぞれの下の句の札をメインシートのどのセルに置いたか、その行と列の番号を表に書き込みます。

さらには「上の句を読む」をクリックしたときにはこの作業用シートの表から1つの句を選択します。そしてこの表のどの行を選んだか、を表の上に書いておくのです。

すると「取る」で正解かどうかを判定するときは、そこを見て正解が表の何行目にあるかを知り、その行の句がどのセルに置かれたかを示す行と列の番号を取得します。そしてそれがそのときに選択されているセルの行と列に一致していれば正解と判断します。なので判定は簡単です。

もしもこの作業用の表がなかったら、100個の和歌が書かれた表から、選んだ上の句と一致するものを探して、その下の句が選んだ札と一致するかを判定しなくてはいけません。作業用の表を使ったときと比べると、処理が複雑になってしまいます。作業用の表を作ってあることがポイントです。

エクセルVBAプログラミングでこんなものも作れるのです。

このかるたゲームは以下のページから無料でダウンロードできます。使ってみてください。「便利ツールダウンロード」


エクセルVBAのプログラミングを始めてみませんか。

あなたもエクセルのプログラミングを始めてみませんか? 初心者大歓迎!
手作業で3時間かかっていた処理を。1分で終わらせてしまうこともあります。このスキルをつけておくと、職場のみんなを助けてあげることもできます!

あべっかんがお待ちしております。

コメント