エクセルでは、ボタンやプルダウンメニューなどの部品を配置する使い方にも対応しています。
インターネットでは、フォームでよくみかける部品ばかりです。
ここではエクセルにおけるフォームのやり方などについて解説していきます。
フォームを使うには?
「開発」タブでリボンから「挿入」を選ぶと、フォームの部品を選ぶことができます。
フォームコントロール
選択後セル上へ配置しましょう。
ボタンを試しにおくと、ボタンの動作を記述するダイアログが開きます。
「新規作成」でエディタをオープン。
たとえばダイアログに文字を表示する命令を使って
Sub ボタン1_Click()
MsgBox ("新人選手")
End Sub
とします。
ツールバーにある「▼」再生ボタンで実行すると、以下のようにセットした文章がダイアログで表示されました。
ActiveXコントロールの場合
フォームコントロールとActiveXコントロールと2つ、同じ部品が用意されています。
おそらくこれは旧オフィスとの互換性の関係で同じものがあるのではないかと思います。
ActiveXコントロールはウィンドウズ専用の動作環境です。マックなどの他プラットフォームで動作することを考えて、ActiveXコントロールではないフォームコントロールが用意されたのではないかと思います。
ただし使い方はほぼ一緒。
こちらもパーツを選んでシート上へ配置します。
VBで上記のようにマクロを書いて動作を指定することができます。
同じ部品が2つありますが、通常は「フォームコントロール」のほうを使うとよいでしょう。
フォームの不具合
ボタンが削除できない?
フォームコントロールで作った部品は、右クリックしてメニューから「切り取り」で画面から取り除くことができます。
しかしアクティブXコントロールで作った部品は、右クリックに反応しません。
対策としては「開発」タブで「デザインモード」をクリックします。
すると部品は右クリックでメニューがでますので「切り取り」で画面から取り除くことができます。
デザインモードを解除するには、もう一度デザインモードをクリックしましょう。
文字化け?
ボタンのキャプションが文字化けするといった症例が報告されています。
まずはシステムロケールが日本語になっているか確認してみましょう。
コンパネで「日付、時刻、または数値の形式の変更>システムロケールの変更」を実行。ここで日本語になっていない場合な日本語に設定しなおしましょう。
他の対策としては、「アクティブXコントロールを使っている場合はフォームコントロールの部品へ置き換える」「コピペではなく文字を直接入力し直す」などがあります。
参考:Excel2013のボタンキャプションが文字化けする - マイクロソフト コミュニティ
文字化けしてしまうケースで特殊文字を利用している場合は、利用している辞書の影響もあります。なるべく利用を控えるほうがよいでしょう。
「センチメートル」なら英語で「cm」、「矢印」ならば、マイナスと不等号で「->」、「電話マーク」なら英語で「TEL」、「株式会社」ならカッコをつかって「(株)」...と置き換えてみましょう。
フォームが利用できない?
通常は問題なく利用できるとは思います。
部品が置けないなどの場合、VBエディターを起動。
「ツール」メニューの「参照設定」を実行します。
「Microsoft Forms 2.0 Object Library」があり、チェックされているか確認しましょう。
エラー
フォーム部品の命令はVBのマクロで書かれています。
エラーメッセージが出る場合はマクロのエラーの可能性がほとんどでしょう。
VBマクロについては以下参照ください。