プロが教えるわが家の防犯対策術!

VBAを初めて使っています。

勉強してはいるのですが、混乱していて
あまり理解できていません。

「Functionプロシージャとsubプロシージャの違いは、戻り値を返すか返さないか」という事までは知識としてわかったのですが、
・・・サンプルプログラムをながめてみても、どう使えば良いのかまだわかりません。

大変愚問かと思われ申し訳ないのですが、Functionプロシージャの中で、
プロシージャ名=○○
というかたちがよく見られるのはなぜでしょうか。
Function abc
abc="hello"
というような。
多分これがわかればFunctionプロシージャの使い方が
わかってくるのでは、と思っているのですが・・・。

A 回答 (3件)

http://www.atmarkit.co.jp/fdotnet/vb6tonet2/vbne …

>関数の戻り値は、関数名への代入によって決定される
と決まっているから

この回答への補足

ありがとうございます。

基本的なことなんでしょうねぇ~。
・・・理解していませんでした・・・。

補足日時:2006/08/27 08:44
    • good
    • 0

Function プロシージャから値を返すには、値を Function プロシージャ名に代入します



とヘルプにあります。
つまり、関数としての戻り値を設定するためです。

Function プロシージャで戻り値を設定しないのは、行儀の悪いプログラムですが、
Function 名に値を設定しない場合の規定値についてもヘルプに書かれている通りです。
なので、設定しないというプログラムもあるだろうと思います。

この回答への補足

ありがとうございます。

Functionプロシージャの名前は、
他のプロシージャから呼び出される際などに、関数になるのですね。
いや、呼び出されるとかいう問題じゃなく、もう記述されたときから関数として設定されるって事なのかな。

Functionプロシージャはそれ自体が関数化する・・・のでしょうか?

補足日時:2006/08/27 08:45
    • good
    • 0

> Function abc


> abc="hello"
の場合、
MsgBox abc & " ueno88さん"
とすれば、「hello ueno88さん」と表示されますが、
Function abc の中に「abc="hello"」が無ければ、
MsgBox abc & " ueno88さん"
は「 ueno88さん」としか表示されません。

この回答への補足

ありがとうございます。

中で値を設定しないと、空っぽになっちゃうんですね。
Functionプロシージャの意味が何となく、わかって来たような・・・。

補足日時:2006/08/27 08:50
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!