如何解决EXCEL 2010 VBA宏停止
我创建了一个EXCEL 2010工作簿(例如,工作簿1),该工作簿具有一个宏,该宏(1)打开另一个工作簿(例如,工作簿2),(2)从工作簿2中提取数据并将信息放入工作簿1的数组中代码(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键时,它会阻止宏运行。这种行为显然会延续到通过热键调用宏。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。