[英]EXCEL 2010 VBA Macro Stopping
我創建了一個 EXCEL 2010 工作簿(例如,workbook1),它有一個宏(1)打開另一個工作簿(例如,workbook2),(2)從 workbook2 中提取數據並將信息放入 workbook1 VBA 代碼的數組中,( 3) 關閉 workbook2,然后繼續運行 workbook1 中的宏。
如果 (1) 從 VBA 運行宏或 (2) 從開發人員/宏選擇運行宏,則宏有效。
如果我通過快捷方式 (SHIFT_CNTL_U) 運行宏,宏會打開 workbook2,然后宏會停止嗎?
如果快捷方式只是調用宏,有沒有想過為什么會停止?
以下 VBA 代碼的簡單示例(宏停止成功執行 Workbooks.Open 命令:
Sub TESTER()
Dim DataMatrix(5) as integer, i as integer
Dim Analysis(5) as integer
Dim ws As Worksheet, wb As Workbook
'
Set wb = Workbooks.Open("c:\workbook2.xlsx")
Sheets("Data").select
Range("A5").select
For i = 0 to 4
DataMatrix(i) = activecell.offset(0,i).value
Next i
wb.close
'
For i = 0 to 4
Analysis(i) = DataMatrix(i) * 2
Next i
'
end sub
我相信問題是在快捷方式中使用 Shift 鍵。 我能夠在 Excel 2016 中復制該行為。當我從快捷方式中刪除 Shift 鍵時,它工作正常。 請參閱上面 GMalc 引用的鏈接。 問題在於,當您在打開任何 Excel 工作簿時按住 Shift 鍵,它會阻止宏運行。 這種行為顯然延續到通過熱鍵調用宏。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.