まず、自動で設定させる部分を作成します。VBAエディタで「挿入」→「標準モジュール」として、表示されるウィンドウに、以下のように記述します。
Sub Auto_Open() UserForm1.Show End Sub
「Auto_Open()」はファイルが開かれたら最初に動作するプログラムで、2行目の「UserForm1.Show」は「ユーザーフォームを表示しなさい」という意味です。
次に、同時にシートが非表示となるように設定させる部分を作成します。ユーザーフォームのコードで、「UserForm_Initialize()」に以下を追加します。
Application.Visible = False
これは、アプリケーションすなわちExcelシートの表示状態(Visible)をFalse、つまり「見えないようにしなさい」という意味です。これで、ユーザーフォームが開かれると同時にシートが非表示となります。
さて、このままだと、ユーザーフォームを閉じた後に何も表示されないため、Excelファイルを終了できなくなります。そこで、下記に示すコードを追加して、ユーザーフォームが閉じられたら、Excelシートを表示させるようにします。
Private Sub UserForm_Terminate() Application.Visible = True End Sub
「UserForm_Terminate()」とは、ユーザーフォームが閉じられたら動作するプログラムです。2行目はExcelシートの表示状態をTrue、つまり「見えるようにしなさい」という意味です。これで、ユーザーフォームが閉じられると同時にシートが表示されます。
無事にできましたでしょうか? 出来上がったデータはこちらからダウンロードできます。
伊藤孝宏(いとう・たかひろ)
1960年生。小型モーターメーカーのエンジニア。博士(工学)。専門は流体工学、音・振動工学。現在は、LabVIEWを使って、音不良の計測・診断ソフト、特性自動検査装置などの開発を行っている。
いつもの設計シートをアプリに簡単変身! Excel VBA活用術
Excelは最強なのか!? 生産計画策定に表計算ソフトを使う製造業は62%
直交配列実験を基にした重回帰分析の実務
品質管理と実験計画法の基本を押さえよう
試作品の数を劇的に減らす直交配列実験の実務Copyright © ITmedia, Inc. All Rights Reserved.
メカ設計の記事ランキング
よく読まれている編集記者コラム