【VBA】メッセージボックスだけでアンケートをとってみる

みなさん、こんにちはケンケンです。

今回は、VBAのメッセージボックス機能だけでアンケートをとってみようと思います。

ユーザーフォームを使うのが普通ですが、簡易的なものならメッセージボックスのみで可能なので練習がてらやってみましょう。

 

メッセージボックス機能だけでアンケートをとる

以下のような手順で進めていきます。

①Excelシートを作る

②メッセージボックスを表示させる

③男性女性の選択

④犬が好き・嫌い・普通の選択

この手順でやっていきます。それでは実際に手を動かしていきましょう。

Excelシートを作る

ここはいたって簡単です。

A列を性別欄、B列に犬が好きかどうかを選択する欄を作ります。

 

こんな感じです。

メッセージボックスを表示させる

メッセージボックスを表示させてみましょう。

復習です。

プロシージャを生成しコードを書いていきます。

コードを実行すると、

 

このように表示されればOKです。

男性女性の選択

「はい」を押したら男性、「いいえ」を押したら女性となるようにIfステートメントを使って分岐させます。

上記のようにコードを書き実行すると、

セルA2に男性、女性が表示されるようになります。

ここで連続でデータを入力できるように、最終行を変数に格納して常に最新行に表示できるようにしましょう。

最終行を取得するコードを追加し、該当箇所を変数に置き換えます。

これを実行すると、

 

 

犬が好き・嫌い・普通の選択

次は3つに分岐させてみます。

犬が好き・嫌い・普通の選択を可能にするようにコードを書いてみましょう。

 

 

簡単にコードを説明すると、

まず犬が好きか選択します。

「はい」だったらシートに「好き」、「いいえ」だったら「犬が嫌いか」のメッセージボックスへ。

「はい」だったらシートに「嫌い」、「いいえ」だったら「好きでも嫌いでもないか」のメッセージボックスへ。

「はい」だったらシートに「普通」、「いいえ」だったら「回答なし」とシートに記載します。

以下のようにシートに入力出来たら成功です。

 

イメージは以下の通りです。

本来はユーザーフォームを使いフォーム上で選択することでシートに転記するのが普通ですが、

今回は、メッセージボックスと条件分岐の練習に良いかと思います。

是非、ご自分で試してください。

それでは、またお会いしましょう。

あわせて読みたい

みなさん、こんにちはケンケンです。   今回は、ユーザーフォームの作り方をご紹介します。   実務でよく耳にするのは「管理データを作っているけど、横に長い表にたくさんの項目を入力するのが面倒!」といった声です。 […]