目安箱 IV

目安箱投稿のルールはこちらをごらんください。
ご意見は電子メールで承っています。
「目安箱」は質問禁止です。技術的な質問はそれぞれの質問箱へどうぞ。

迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
123 / 277 ←次へ | 前へ→

【167】ちょっと気になる現象3 プロパティの参照渡し
Excel  ichinose  - 06/12/24(日) 12:29 -

引用なし
パスワード
   サブプロシジャーへのパラメータの渡し方には、参照渡しと値渡しがあることは
知られていることですよね!!

新規ブックのThisWorkbookのモジュールに、

'==================================================================
Option Explicit
Public ans As Long
'==================================================================
Sub main()
  Dim a As Long
  Dim b As Long
  ans = 0
  a = 2
  b = 3
  Call addcalc(a, b, ans)
  MsgBox a & " + " & b & " = " & ans
End Sub
'==================================================================
Sub addcalc(x As Long, y As Long, z As Long)
  z = x + y
End Sub


として、ThisWorkbook.mainを実行すると、
「2 + 3 = 5」と正しく足し算の答えが表示されますが、

上記のmainを

'==================================================================
Sub main()
  Dim a As Long
  Dim b As Long
  Me.ans = 0
  a = 2
  b = 3
  Call addcalc(a, b, Me.ans)
  MsgBox a & " + " & b & " = " & Me.ans
End Sub

のように「変数ansにMeキーワードを付ける」という変更を行ってから、
mainを実行すると、

「2 + 3 = 0」と正しく足し算の答えが表示されません。

不思議ではないですか?
1,021 hits

【167】ちょっと気になる現象3 プロパティの参照渡し ichinose 06/12/24(日) 12:29 Excel[未読]
【168】Re:ちょっと気になる現象3 プロパティの参照... ichinose 06/12/24(日) 12:32 Excel[未読]
【170】Re:ちょっと気になる現象3 プロパティの参照... ichinose 06/12/25(月) 16:02 Excel[未読]

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
123 / 277 ←次へ | 前へ→
ページ:  ┃  記事番号:   
0
(SS)C-BOARD v3.8 is Free