工作簿1包含我寫的宏1。如何使VBA單擊不同工作簿中的按鈕?
我使用宏1輸入數據發送到工作簿2,然後從工作簿檢索計算2.工作簿2的計算需要鍛鍊宏2,這是通過點擊在工作簿2.
命令按鈕按鍵6激活按鈕名稱是「按鈕6」,我知道它初始化的宏的名稱。
如何從宏1中點擊按鈕6?
工作簿1包含我寫的宏1。如何使VBA單擊不同工作簿中的按鈕?
我使用宏1輸入數據發送到工作簿2,然後從工作簿檢索計算2.工作簿2的計算需要鍛鍊宏2,這是通過點擊在工作簿2.
命令按鈕按鍵6激活按鈕名稱是「按鈕6」,我知道它初始化的宏的名稱。
如何從宏1中點擊按鈕6?
而不是單擊其他工作簿中的按鈕通過使用Application.Run方法運行按鈕的單擊事件功能或預期的功能。
Application.Run 「workbookName!functionName」
只需直接調用宏在button6稱之爲第二本書。 (第二工作簿將需要打開這個代碼工作)
例如:
Application.Run "'Workbook2.xlsm'!Macro2"
我試過了。運行時錯誤1004 - 無法運行宏____。該宏可能無法在此工作簿中使用,或者可能會禁用所有宏。但我知道它在wb2中可用,並且已啓用宏。 –
您是否在您的信任中心啓用了宏,並且打開了第二個工作簿?如果不是,則需要添加更多代碼來打開和關閉application.run行的第二個工作簿。行 – Tragamor
是的。啓用宏並打開工作簿。 –
3想法,而不是測試。通過http://www.mrexcel.com/forum/excel-questions/22555-can-visual-basic-applications-%22click%22-button.html啓發:
1)
[workbook2].[worksheet].[button6codename]_Click
2)
[workbook2].[worksheet].CommandButton2 = vbClick
3)
[workbook2].[worksheet].CommandButton2 = True
[workbook2].[worksheet].CommandButton2 = vbClick
這一切都使用公用子!
我試過了。運行時錯誤1004 - 無法運行宏____。該宏可能無法在此工作簿中使用,或者可能會禁用所有宏。 但我知道它在wb2中可用並且啓用了宏 –
當您調用該函數時,應該打開工作簿2。 – smozgur
功能必須定義爲Public。 – smozgur