返回列表 上一主題 發帖

如何用巨集呼叫巨集。

如何用巨集呼叫巨集。

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

例如想要用 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

123.zip (6.9 KB)

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

回復 1# Baracuda
  1. Sub main()

  2. Call B01

  3. Call C01

  4. End Sub
複製代碼
1.jpg
2012-3-2 23:05

123.zip (8.46 KB)

TOP

回復 1# Baracuda
重點是模組名稱不能與程序名稱相同
學海無涯_不恥下問

TOP

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

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

那這樣會不會有問題。

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

123.zip (8.59 KB)

TOP

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

乎叫不同專案的程序  Run "123.XLS!A01.MAIN"

TOP

回復 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名稱,就可以區別了

TOP

各位前軰謝謝。我試過是可以做的。這些方法不錯。

TOP

本帖最後由 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  以此類推

TOP

        靜思自在 : 能付出愛心就是福,能消除煩惱就是慧。
返回列表 上一主題