Board logo

標題: 如何用巨集呼叫巨集。 [打印本頁]

作者: Baracuda    時間: 2012-3-2 22:43     標題: 如何用巨集呼叫巨集。

因為有時撰寫巨集比較長,會想不同的模組寫。

例如想要用 A模組 呼叫
B &C 模組執行有無什麼方法。
當然 B& C 不會是這樣短的模組。

B模組
Sub B01()
    Debug.Print ("This is B01")
End Sub

C模組
Sub C01()
    Debug.Print ("This is C01")
End Sub
作者: register313    時間: 2012-3-2 23:05

本帖最後由 register313 於 2012-3-2 23:08 編輯

回復 1# Baracuda
  1. Sub main()

  2. Call B01

  3. Call C01

  4. End Sub
複製代碼
[attach]9815[/attach]
[attach]9817[/attach]
作者: Hsieh    時間: 2012-3-2 23:32

回復 1# Baracuda
重點是模組名稱不能與程序名稱相同
作者: Baracuda    時間: 2012-3-3 14:33

前輩們的回答,引起一些新的問題。

例如:
1.如果有一些常用的公用程式,在 B01 & C01 都有
Function Comm_Func01
Sub Common_01

那這樣會不會有問題。

2. B01 & C01 都有同樣名稱的程序名稱時,有什麼方法可以做呼叫上的區別
例如:
Call B01.Process
Call C01.Process
等方法。
作者: GBKEE    時間: 2012-3-3 15:20

回復 4# Baracuda
B01 & C01 都有同樣名稱的程序名稱時,有什麼方法可以做呼叫上的區別
例如:
Call B01.Process
Call C01.Process

乎叫不同專案的程序  Run "123.XLS!A01.MAIN"
作者: register313    時間: 2012-3-3 17:02

回復 4# Baracuda

1.如果有一些常用的公用程式,在 B01 & C01 都有
Function Comm_Func01
Sub Common_01
那這樣會不會有問題。

不會有問題
但是既然是相同共用的Function,Sub,應統一置放於一個共用的Module,要用到的Module再呼叫這共用的Function,Sub

2. B01 & C01 都有同樣名稱的程序名稱時,有什麼方法可以做呼叫上的區別
例如:
Call B01.Process
Call C01.Process
等方法。

call Module名稱1.Sub名稱(呼叫 Module名稱1 內的 Sub名稱)
call Module名稱2.Sub名稱(呼叫 Module名稱2 內的 Sub名稱)
加上Module名稱,就可以區別了
作者: Baracuda    時間: 2012-3-3 22:25

各位前軰謝謝。我試過是可以做的。這些方法不錯。
作者: mark15jill    時間: 2012-3-14 08:50

本帖最後由 mark15jill 於 2012-3-14 08:56 編輯

回復 7# Baracuda [code]Sub B01()
Sub A01()
    Application.Run "Book1!B01"    '執行模組1
    Application.Run "Book1!C01"    '執行模組1
End Sub


適合用來做串接程式

如一段程式  SW1-100
可以分成10段
SW1- SW10
SW11-SW20  以此類推




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)