Excel95のダイアログシートをExcel97以上で使うには?

Question 49.8 Previous Next
500連発・第2弾のマクロ番号 387について質問します。
詳細は こちら ComboBoxの表示パターンを覚えようとして参考にしていたら、このページのフォーム表示の仕方をはじめてみました。
通常エディターの方にUserFormを挿入してFormを表示させたりすると思うのですが、 Sheet上にDialogSheetを作ったり、フォームを作りリストを増やしたりする方法がわかりません。お教え下さい。宜しくお願いします。
なお、私の環境はMeでの2000使用です。動作はしますが。
この質問を寄せられた三井さん、正しいE-mailアドレスをお知らせください。ご連絡したいことがありますので。
Answer   Copyright (C) 2001.11.8 永井善王
ユーザーフォームはExcel97から提供されました。 それ以前のExcel95ではVisual Basic Editor画面がない代わりに、Excel画面でダイアログシートと呼ばれるワークシートとは異なる専用のシートに、フォームツールバーを利用してユーザーフォームに良く似たダイアログボックスを作成することが可能です。ダイアログシートは Excel97以上では隠し機能となりましたので、ちょっとした知識がないと操作できませんが、引き続き利用することができます。
コンボボックス
マクロ番号 387は「コンボボックスで入力した値をセルに順次格納する」のタイトルで、左図のとおりExcel95のコンボボックスで入力された値を、住所録ワークシートのセルに格納するためのマクロです。本題から外れるので内容は説明しませんが、くわしく知りたければ こちら を見てください。

見てわかるとおり左図の県名用のコンボボックスは、Excel97以上のコンボボックスとはデザインが違い、キー入力可能なエディットボックスと、表示項目を選択するためのリストボックスが組み合わさっています。
このコンボボックスは、500連発第2弾本文の316ページに 「このままでもExcel97以上でも使えますがユーザーフォームにした方が良いでしょう」 と解説しているとおりですが、一応、Excel97以上での作成方法を解説します。

コンボボックス Excel95のダイアログシートをExcel97以上で使う方法
コンボボックス
1. 左図のように[シ-ト名タブ]を右クリックして[挿入]をクリック

  「挿入」ダイアログボックスが表示されたら

2. [MS Excel 5.0 ダイアログ]をクリックして[OK]ボタンをクリック

  そうすると、ダイアログシ-トが挿入されて、右図のよ
  うな「フォ-ムツールボックス」が表示されます。

その後の操作は、ユーザーフォームにコンボボックスを作成する場合と同じです。

質問文に「フォームを作りリストを増やしたりする方法がわかりません」と書かれていますが、リストを増やすとは何のことか理解できません。
しかし、おそらく 387番のマクロが、コンボボックスで入力されたデータを次々と住所録シート(つまりリスト)に書き込んでいるので、そのことを捉えて言ってみえるのであって、リストボックス内のリストのことを言っているのとは違うかと思います。
そうだとすれば、くわしい説明が
コンボボックスで入力した値をセルに順次格納するには」 にありますので、参考にしてください。

 

Excel VBA Macro