簡體   English   中英

EXCEL 2010 VBA 宏停止

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM