★チェックボックスを使ったアンケート その2 | |||
それでは、アンケートのコードの解説に入ります。 基本的には、チェックボックスにチェックが入った果物のカウンターを1つずつ増やす設定にすればいいんですよね。 そのカウンターを増やすタイミングは、「登録ボタンを押したら増やす」ということにしました。 また登録が完了したら、チェックボタンを元通りチェックなしに戻しますよ。 ということでコードを書いてみます。 |
|||
ではまず、ユーザーフォームをシート上に開くためのコードをシートに貼り付けた「アンケート」のコマンドボタンに記述しますよ。 |
|||
Private Sub
CommandButton1_Click() UserForm1.Show End Sub |
|||
これで出来上がり! UserForm1をShow(見せてよ!)ってことですね。 続いてユーザーフォーム内の記述はどうでしょう? |
|||
Private
Sub 登録ボタン_Click() If チェックぶどう = True Then Range("B3") = Range("B3") + 1 If チェックりんご = True Then Range("C3") = Range("C3") + 1 If チェックいちご = True Then Range("D3") = Range("D3") + 1 If チェックみかん = True Then Range("E3") = Range("E3") + 1 If チェックバナナ = True Then Range("F3") = Range("F3") + 1 チェックぶどう = False チェックりんご = False チェックいちご = False チェックみかん = False チェックバナナ = False End Sub |
|||
今回は、「チェックボックスの値がTrueであれば(チェックが入っていると)、指定したセルの値に1を足しなさい。」とまぁこれだけのコードなんですよ。 ただし今までと違うのは、IF構文の書き方です。 If 条件式 Then 処理内容A Else 処理内容B End If これがIfを使ったステートメントの基本形でしたが、今回はIf構文の単一行形式の書き方で書いてみました。 If 条件式 Then 処理内容A Else 処理内容B これで処理ができるんですね。End Ifは不要になります。 それとこの 単一行形式を利用すると、If...Then ステートメントの判断結果として、複数の処理(ステートメント)を実行することができます。
If構文はいろんな記述に登場してきますので、ネタのひとつとして知っておくと便利ですね。では後半のステートメントですが、チェックボックスのチェックをはずして初期化する記述です。 チェックボックスにチェックが入っていない時にするにはFalseを使います。 チェックぶどう = False こんな書き方でOKです。 では、こんなこともチェックボックスでは時々使うので紹介しておきます。 チェックボックスを作ったのはいいけど、チェックボックスの利用を出来なくする方法です。 これには、 チェックぶどう.Enabled = False こうすることで、チェックボックスは利用できなくなります。 上のプログラムでこれを使うにはこんなふうにしますよ。 |
|||
Private Sub
UserForm_Initialize() チェックぶどう.Enabled = False End Sub |
|||
ユーザーフォームを開いた時の初期状態で、チェックボックスの使用が出来ないようにしてしまうのです。これも何かのお役に立つかも知れませんね。 チェックボックスは以上です。 |
|||
|