アプリ版:「スタンプのみでお礼する」機能のリリースについて

下記コードにて、MSGBOXで88を表示するには、どう変更すればよいですか?

Sub aaa()
bbb
MsgBox b
End Sub


Sub bbb()
b = 88
End Sub

A 回答 (3件)

こんにちは。

maruru01です。

(1)bbbプロシージャに引数を付ける

Sub aaa()
Dim b
bbb b
MsgBox b
End Sub

Sub bbb(ByRef a) 'ByRefキーワードは省略可
a = 88
End Sub

(2)bbbをFunctionプロシージャにする

Sub aaa()
Dim b
b = bbb
MsgBox b
End Sub

Function bbb()
bbb = 88
End Function

(3)変数をモジュールレベルで宣言する

Dim b

Sub aaa()
bbb
MsgBox b
End Sub

Sub bbb()
b = 88
End Sub
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

いろいろな方法があるのですね。
今後は教えていただいた方法を基本として、使っていきたいと思います。

お礼日時:2004/09/28 13:41

・#2のお答えにも出ていますが、引数は値を渡すのに多く使われると思いますが、値を受け取って、乗せて戻る(この説明はイメージだけです)にも使えるようです。


しかし「通常呼び出される側での引数の値の変更はあまり行いません」と、ある解説書にありました。
Msgboxはabcが表示される。
Sub aaa()
bbb b
MsgBox b
End Sub

Sub bbb(c)
c = "abc"
End Sub
・普通はFunctionにして値を返す。
・またはモジュール内で使えるモジュール変数、他のモジュールからも使えるパブリック変数を使えます。
http://www.moug.net/skillup/pmm/dn05-3.htm?PRINT
http://www.moug.net/skillup/pmm/dn05-4.htm?PRINT
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2004/09/30 16:12

品質を下げることに最大限配慮しています。

(毒)

'Option explicit ← 担当者が意味を理解できないのでコメントアウト。

Sub aaa() ' ← 他人に解読できないように意味がなるべくわかりにくい命名を採用。
'bbb
MsgBox 88 ' ← 暗黙の型変換に期待。省略可能な引数は省略。
End Sub


'Sub bbb()
'b = 88
'End Sub
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

”88”がbbb()内にて決定される場合はどうすればいいのでしょうか?

お礼日時:2004/09/28 12:24

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