作者jjky ( )
看板Visual_Basic
标题Re: [VBA ] 不同Sub共用相同参数
时间Sat Jan 23 22:49:10 2010
谢谢DGnzj:)
就像Marty说的,两个方式都好,只有一些小细节要改
下面是修改後可以执行的:
'*****************第一种**********************
Dim G_Num As Integer
Sub A()
G_Num = 0
Dim i As Integer
For i = 0 To 3
G_Num = G_Num + i
Next i
Call B
End Sub
Sub B()
Debug.Print G_Num
End Sub
'***************第二种***********************
Sub A()
Dim Num As Integer
Num = 12345
Call B(Num)
End Sub
Sub B(bNum As Integer)
Debug.Print "收到的值是:" & bNum
End Sub
'谢谢你们唷:)
※ 引述《DGnzj (DG)》之铭言:
: ※ 引述《jjky ( )》之铭言:
: : 不好意思 我是vab新手
: : 目前碰到一个问题
: : 在Sub getdata()内抓到了一些data的资讯
: : 例如: data_num=40
: : 在下一个Sub simulation()中 希望能用到这些资讯
: : 例如: For a = 1 To data_num
: : 请问应该对data_num 做些什麽处理才能在另外一个sub也知道它呢?
: : 谢谢!
: 我先承认我没写过vba,但写过vb,所以我想应该是差不多的道理
: 我举两个例子,两个例子都能让A sub读到B SUB处理的变数
: 但这是直接用BBS打出来的,也许语法不周严请见谅
: =====================以下献丑==========================
: '第一种,宣告一个public(公开)的变数,如此一来只要是在那
: '个mudle里面都能读取得到
: Public dim G_Num as integer
: Public SubA()
: G_Num=0
: Dim i as integer
: For i = 0 to 3
: G_Num = G_Num + i
: Next i
: SubB
: End Sub
: ...
: ...
: Public SubB()
: Debug.print G_Num
: End SubB
: =================第二种=========================
: '使用传值(ByVal)或传址(ByRef)
: '被呼叫的sub或function设好对应的变数来接收
: Public SubA()
: Dim Num as integer
: Num = 12345
: SubB Num
: End SubA
: ....
: ...
: Public SubB(ByVal bNum as integer)
: debug.print "收到的值是:"bNum
: End SubB
: ........
: 大概就是这样,如果有错的地方也让我了解一下吧~
: 希望对你有帮助~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.110.172.137