おしゃれにいけてる?

散歩やお買い物のことなどを書いています・・・

Entries

 EXCEL VBA マクロ TIPs. [ プロシジャー呼び方と、引数の値渡しと参照渡し。]

 Sub プロシジャーや Function プロシジャーの使い方を間違っていた。っていうっか知らなかった。

それは、呼び出し方。Sub プロシジャー sub1 は、

   call sub1(引数)

Function(関数)プロシジャー func1 は、

   ans = func1(引数)

という形で使うものだとばかり思ってた。

でも、実際は、

   call sub1(引数)
   sub1(引数)
   call func1(引数)
   func1(引数)
   ans = func1(引数)

の、どの呼び方もできる。

違うのは、

   call で呼ぶと、引数は参照渡しになり
   そのまま実行すると、引数は値渡しになる

って事。

   ans = func1(引数)

の形で、普通の関数の様に呼んだときは、引数は値渡しになる。(ただし、配列を引数に渡す場合は、参照渡しのみ。)

   「知らんかった・・・」

って言うっか、MS のソフト仕様って、「余計なお世話」を押しつけすぎ。この仕様の、意図が分からない。

 で、今後は、引数を付けるときは、

   ByVal a As Integer
   ByRef a As Integer

の様に、明示的に指定しようかと思う。間違ってたら、エラーになるし。

スポンサードリンク

Comment

Comment_form

管理者のみ表示。

左サイドメニュー

プロフィール

Author:ジョニー

ゆるゆると日々を過ごしてしまう、ダメダメ野郎の航海日記。



クリック (・。・)yoro

このブログ内を検索

最近の記事

カテゴリー

最近のコメント

QRコード

QRコード

月別アーカイブ

右サイドメニュー

カレンダー

02 | 2020/03 | 04
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

スポンサードリンク

FC2カウンター

#1467