トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > VBAとの出会い編 第31話「システムをリリースしよう!」

やってみよう!Excel VBAで業務改善!|VBAとの出会い編

メニュー画面も用意しよう

星くんがポンと手をたたきました。

「なるほど…MsgBoxは"関数"だから、戻り値があるんだね。
このケースでは"vbYes"、つまり[はい]ボタンがクリックされたときだけ、Ifステートメント内の処理が実行されるんだ!
でも今までMsgBoxは、こんな書き方しなかったよね…?」
「うん。メッセージを表示させるだけのときは、MsgBox "メッセージ"、とカッコを使わないし、戻り値も利用しない。
これはVBAの記述ルールなんだ。
戻り値を利用するときは引数をカッコで囲み、利用しないときは半角スペースの後に続けて引数を記述する。
………で、ここで[はい]ボタンをクリックすると…」
八木くんがダイアログボックスの[はい]ボタンをクリックします。
画面に、印刷プレビューが表示されました。

「Ifステートメント内の"ActiveSheet.PrintPreview"は、アクティブなシートの印刷プレビューを実行する。
この処理が実行されるのは、追加アイテムをチェックした後で、対象ブックを閉じる前だ。
だから、印刷したいオーダー表のシートが、ちょうどアクティブになっているときだよ」
「印刷プレビューじゃなくて、一気に印刷してしまわないのかい?」 「そのときは、"ActiveSheet.PrintOut"と記述すればいい、そうすればいきなり印刷されるよ。
でも印刷の設定はプリンタごとに違うだろうし、オーダー表の大きさもマチマチなんだろ?
いきなり印刷するのではなく、プレビューを表示してあげたほうが、レイアウトの調整もできてユーザーに親切だと思うよ」
ウンウンと、星くんもしきりにうなずきます。

「あとはメニュー画面を少しお化粧しよう。
いくらなんでもボタンがポツンとおいてあるだけでは、味気なさすぎる。
ワードアートでタイトルを書き、ボタンの文字列も変更しよう。
ここは星、おまえがやってみろ」
星くんは八木くんのPCを借り、メニュー画面のお化粧を始めました。

「こんなものかい…?」 「うん!いいんじゃないか…!」

シーズン1 「VBAとの出会い」編: 各エピソードへのリンク
一覧にもどる