以B macro執行A macro

 我在檔案 a.xlsm 中 a-sheet 已建立一個 vba macro 為 a-macro,
       1. 當我在另一個檔案 b.xlsm 中的 b-macro 中要使用到 a.xlsm 中的 a-macro 時要如何開啟, 執行及關閉?
       2. 若我已經將 a-macro 由 a.xlsm 中匯出成一個 a.bas 檔案時, 我如何由 b-macro 呼叫開啟, 執行及關閉?
程式如下:-
  1. Sub bb()
  2. Workbooks.Open "E:\aa.xls" '開啟活頁簿
  3. Application.Run "aa.xls!aaa" '執行巨集
  4. End Sub
  5. Sub kk()
  6. With ActiveWorkbook.VBProject.VBComponents.Import("E:\a.bas") '匯入
  7. Application.Run "aaa" '執行
  8. Application.VBE.ActiveVBProject.VBComponents.Remove Application.VBE.ActiveVBProject.VBComponents(.Name) '刪除
  9. End With
  10. End Sub
**********
對於H大 sub kk()有點問題
我照一次辦
但compiler說remove那行引數不為選擇性(not optional)
停了macro
*********
有點問題,這是3樓H大的程式,加少少修改
有兩個excel file,一名為a.xls,內有一個叫sub a()的程式,執行一個簡單的msgbox訊息,我把它匯出至a.bas,打算由b.xls中的sub c()叫出該a.bas,可是程式壞了. 不知如何是好
********
  1. Sub c()
  2. With ActiveWorkbook.VBProject.VBComponents.Import("D:\Tony\Excel VBA\a.bas")
  3. Application.Run "a"
  4. Application.VBE.ActiveVBProject.VBComponents.Remove _
  5. Application.VBE.ActiveVBProject.VBComponents(.Name)
  6. End With
  7. End Sub
*************

沒有留言:

張貼留言