エクセルの複数選択リストボックス(4)

記事「エクセルの複数選択リストボックス」で、
「地方を選んだら、その地方のリストのみ複数選択できる、とならないか」
というリクエストをいただきました。

たとえば、B列で「関東」を選ぶと、C列では関東地方の都道府県のみ表示される形です。
サンプルは、こちらからダウンロードしてください。

 

「これは簡単だな」と、ちょっとナメておりました。
まず、「都道府県」シートで、各地方ごとの都道府県に範囲名をつける。
そして、C列が選ばれたら、E1セルにB列で選択した地方名が入るようにする。
フォームのリストボックスを選択して、RowSourceにIndirect関数を入れればOK。
はい、できあがり(^^)

ところが、どうもうまくいかない。
1つ前に選択した地方が、リストに表示されちゃいます。

コマンドボタンをクリックしたとき、最後に「UserForm1.Hide」のところを、
Unloadに変えないとうまくいきません。
Hideでは、メモリにデータが残っちゃうようです。