回答編集履歴

2

コード追加

2015/10/06 05:46

投稿

hirohiro
hirohiro

スコア2068

test CHANGED
@@ -1,3 +1,39 @@
1
1
  SUB Aの中からSUB Bをコールするなら引数で渡すだけで(値渡しor参照渡し)いいと思います。
2
2
 
3
3
  他のプロシージャを経由するなら、参照渡しでできるのではないでしょうか?[参考](http://officetanaka.net/excel/vba/tips/tips94.htm)
4
+
5
+
6
+
7
+ 手元に環境が無いのでちゃんと動くか自信がないですが、こんな雰囲気
8
+
9
+ ```vba
10
+
11
+ Sub sample()
12
+
13
+ Dim str As String
14
+
15
+ str = "Hello"
16
+
17
+ Call A(str)
18
+
19
+ Call B(str)
20
+
21
+ End Sub
22
+
23
+
24
+
25
+ Sub A(ByRef str As String)
26
+
27
+ str = str & " World!"
28
+
29
+ End Sub
30
+
31
+
32
+
33
+ Sub B(ByRef str As String)
34
+
35
+ MsgBox str
36
+
37
+ End Sub
38
+
39
+ ```

1

誤字修正

2015/10/06 05:46

投稿

hirohiro
hirohiro

スコア2068

test CHANGED
@@ -1,3 +1,3 @@
1
- SUB Aの中からSUB Bをコールするなら引数で渡すだけで(値渡しでも参照渡しでも)いいと思います。
1
+ SUB Aの中からSUB Bをコールするなら引数で渡すだけで(値渡しor参照渡し)いいと思います。
2
2
 
3
- メインや他のプロシージャを経由するなら、参照渡しでできるのではないでしょうか?[参考](http://officetanaka.net/excel/vba/tips/tips94.htm)
3
+ 他のプロシージャを経由するなら、参照渡しでできるのではないでしょうか?[参考](http://officetanaka.net/excel/vba/tips/tips94.htm)