謝謝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