いつもの設計シートをアプリに簡単変身! Excel VBA活用術これは使える! 設計現場のExcel(4/4 ページ)

» 2014年02月21日 10時20分 公開
[伊藤孝宏MONOist]
前のページへ 1|2|3|4       

自動で起動するように改造する

 一応の動作はできるようになりましたが、ファイルを開いたら、自動でウィンドウが表示されれば、さらに便利です。そこで、もう1つコードを追加しましょう。

 「メニュー→挿入→標準モジュール」と選択すると、標準モジュールにModule1が出来上がります。

図14 標準モジュールを用意

 エディタで、図15に示すように、以下の3行を入力してください。

  • Sub Auto_Open()
  • UserForm1.Show
  • End Sub

図15 自動起動用のコードを記述

 「Sub Auto_Open」とは「ファイルが開かれたときに最初に動作するプログラム」の名称です。次の「UserForm1.Show」とは、「UserForm1を表示しなさい」という命令です。これで、ファイルが開かれると、ウィンドウが自動で開かれます。

 ただし、Office製品ではマクロウイルスによる悪影響を防止するために、VBAを含んだファイルを開くと、図16に示すようなセキュリティの警告が表示されます(図はExcel2010での例)。

図16 セキュリティの警告

 「コンテンツの有効化」をクリックして、VBAが動作するようにしてください。

 うまくできましたでしょうか? 出来上がりのサンプルファイル(Sample3.xls)はリンクからダウンロードできます。

 なお、入力欄に数値ではなく、文字を入力して、「計算」ボタンをクリックすると、図17に示すようにエラーとなります(図17)。

図17 エラー表示

 入力された内容を判断して、数値でなければセルに入力しないなどの処理とすれば、こういったエラーを防ぐことができます。いわゆる売り物のソフトでは、エラーを発生させないように、あるいはエラーが発生しても正しく処理ができるように対策を施していますが、コードは複雑なものになります。エラー対策はプログラミングの勉強にはなりますが、自分で使う分には数値以外は入力しないように気を付ければ十分ともいえます。

 また、ランチャーウィンドウを作成し、複数のウィンドウを切り替えるようにすれば、1つのファイルでさまざまな設計計算に対応させることも可能ですが、コードはそれなりに複雑化します。「設計計算1つに1つのファイル」の方がシンプルともいえます。

 どちらがよいのか一概には言えません。道具にこだわりすぎて設計業務と本末転倒にならない程度に工夫してみてください。

筆者紹介

伊藤孝宏(いとう・たかひろ)

1960年生。小型モーターメーカーのエンジニア。博士(工学)。専門は流体工学、音・振動工学。現在は、LabVIEWを使って、音不良の計測・診断ソフト、特性自動検査装置などの開発を行っている。



前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.