excel vba のプログラミングのツボとコツがゼッタイにわかる本_計算ドリルの応用

151106_アイキャッチ_ExcelVBAのツボとコツ

ご存知、『excel vba のプログラミングのツボとコツがゼッタイにわかる本』の計算ドリル編(~6章)まで終えました。
そこで、自分に修行を課そうと思いまして。
計算ドリルを2次元で、つまり100計算ならぬ25マス計算を作ったよ、という内容です。

仕様とポイント

基本的にはテキストの仕様を真似しました。

仕様概要

1) 5×5の足し算

2) check ボタンを押したら答え合わせ
– 正解:青
– 不正解:赤色で背景黄色

3) reset でリセット
– 回答を全部消す
– 背景色をリセット
– 再度入力する文字は黒色
– 5×5の問題がランダムに変化(今回は1桁)

ポイント1: 2次元で値が変化する

テキストだと行or列の一方向のみループで回していた。
今回は各方向に値を変化させるので変数定義は2つ必要。

私は

1. まず 列方向(上から下) を処理
2. 次に 行方向 (左から右) を処理

という順にした。


ポイント2: 背景色が変化する

ググッて解決。

colorindex 又は RGB のどちらを使うのかは好みの問題だと思います。

結果とコード

excelの見た目

151106_Animation-0

コード

反省 -空白セルに対する処理から逃げた-

上のコード@ 20行目 について。

当初考えた仕様は、


・スペースが入力される
or
・空白

該当セルを 黄色 に塗り潰す


でした。


ググッて調べましたが、空白に対する処理は結構複雑。
そんな訳で次のように仕様変更して逃げました。

・計算結果が異なる場合
→入力された数字を赤色にする
→さらに背景を黄色に塗りつぶす

感想と今後の展望

良かったこと

一先ず基本的な使い方は身に付ける事ができた。

変数の定義に戸惑ったけど、将来的に変更箇所を減らすためには大切な作業だよね。

イマイチだったこと

– 得点率を表示した方が使用者に優しい
– 空白セル対策から逃げたのがちょっと…
– デザイン(見た目)がダサい


私が使う側なら 正解数 又は 不正解数 が知りたいかな。
もっと欲を言えば、開始~終了までに要した時間も。
更に欲を言えば、前回の記録から何%回答速度がアップ/ダウンしたのか。
更に更に欲を言えば、今までの記録の中で何番目に早く回答できたのか(順位)。
今後の課題として一旦保留。


空白セルの問題を先延ばしにしたのは悔やまれる。
将来的にまた同じ所で躓く予感。
またこの問題に直面したらその時に考えることにする。


デザインについては個人の美的センスに依るけど…
見た目がちょっとダサい。

今後の展望

箇条書きで。

– 得点率[%]を表示するかも
– 空白セル対応をするかも
– 状態(文字の色, 値をクリア等) を定義して可読性向上を図るかも
– 見た目をもっと良くするかも


以上です。

スポンサーリンク
336 x 280 – レクタングル(大)
336 x 280 – レクタングル(大)
  • このエントリーをはてなブックマークに追加

この記事が気に入ったら
いいね!しよう

トップへ戻る