トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! >第29話「引数と戻り値ってなに?」

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

引数を受け取る側は?

八木くんがメガネをクイッと持ち上げました。

「いいところに気がついたな…星。
呼び出す側で勝手に引数を渡しても、呼び出される側に引数を受け取る準備がなければ、引数は渡せない。
うどん屋プロシージャ、宅配ピザプロシージャは、それぞれ次のように記述する必要があるよ」

【うどん屋プロシージャの記述】

	Sub うどん屋(注文, 料金)

【宅配ピザプロシージャの記述】

	Function 宅配ピザ(注文, 料金)

「…あ!このカッコ!
いつもマクロ名を記述すると勝手についてくるんで不思議に思ってたんだけど…
引数を指定するためのものだったのか!」
「うん。今までのマクロはユーザーが呼び出すマクロだったから、
引数を指定する必要はなくカッコは空のままだったよね。
引数を受け取るときには、この中に引数名を記述する必要がある。
この引数は、プロシージャの中で変数と同じように使うことができるんだ。
さっきの記述でうどん屋プロシージャを呼び出した場合、
引数"注文"には"きつねうどん"が、引数"料金"には"400円"が、それぞれ格納されてるよ」
「つまり…引数というのは、最初から値が格納されている変数みたいなものかい?」 「そういうことになるな。
ちなみに引数を指定すると、そのマクロはマクロ以外から呼び出すことができなくなるから注意が必要だよ」
「…そっか。引数が必要なマクロを引数なしで呼び出しても、困っちゃうもんな。
宅配ピザ屋に無言電話をかけるようなもんだね」
八木くんは、星くんのいったシーンを想像し思わず吹き出しました。

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