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

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

印刷する処理を作ろう

「ああ、それかい?
追加アイテムのチェックをした後に、チェックの結果を印刷したいニーズがあるかな…って思ったんだ。
ただ…どんなコードを書いていいかわからなくて、とりあえずコメントにしておいたんだよ」
「そーゆーことか。じゃあ早速、その部分を作ってしまおう。
なに、1分もあればそんなのできちゃうよ」
コードを書きはじめた八木くんに、

「実はその部分、例の岬さんに作ってもらうよう頼んであるんだ…」 星くんは、岬さんに依頼した内容をそのまま伝えました。

「…ふーん。岬って、例のアシストの子かい?
プロシージャを別に作るよう、依頼したのは正解だったよ。
それなら後で、簡単に追加することができるからね。
…でもそれとは別に、おまえ自身が正しい印刷の処理について理解してなくてはダメだ。
でないと、その子が作ってきたコードが正しいかどうか、判断できないだろう?」
星くんはなるほど、という顔をしてうなずきました。

「おまえのいうとおりだ、八木。
…この場合、どんな処理を書けばいいんだい?」
八木くんはカタカタとキーボードをたたきます。
本当にほんの1分ほどで、新しいプロシージャを作成してしまいました。

Sub SyoriInsatu()
    '印刷の確認
    If MsgBox("処理の結果を印刷しますか?", vbYesNo) = vbYes Then
        '[はい]クリックなら印刷プレビューを表示
        ActiveSheet.PrintPreview
    End If
End Sub

「…こんな感じかな?
このプロシージャ"SyoriInsatu"を、コメントの場所からCallステートメントで呼び出せばいい…。
Ifステートメントの条件式にあるMsgBoxには2つの引数を渡している。
1つ目の引数は表示させるメッセージ、2つ目の引数"vbYesNo"は[はい]と[いいえ]の2つのボタンを表示させる指定になるんだ。
実際に実行してみよう」

「ほら。2つのボタンが表示されたろう?
このとき[はい]のボタンをクリックすると"vbYes"が、[いいえ]のボタンをクリックすると"vbNo"が、
MsgBox関数の戻り値としてそれぞれ返るんだ」

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