问题描述
我写了下面的VBA。它正在工作,但是存在以下问题。任何帮助,将不胜感激。 问题:
Sub copyPaste()
'
' Workbooks("Option Chain.xlsm").Activate
Worksheets("IV track").Select
Range("A14").Select
Range(Selection,Selection.End(xlToRight)).Select
Selection.copy
Range("A19").End(xlDown).Offset(1,0).Select
Selection.PasteSpecial Paste:=xlPasteValues,Operation:=xlNone,SkipBlanks _
:=False,Transpose:=False
Application.CutcopyMode = False
Sheets("Nifty Analysis").Select
Range("B4").Select
Call Test
End Sub
Sub test()
Application.OnTime Now + TimeValue("00:15:00"),"copyPaste"
End Sub
解决方法
将Excel最小化时的错误是由于Worksheets(...)
前面有一个隐含的ActiveWorkbook.
而引起的。当您最小化Excel时,没有工作簿处于活动状态,这意味着您正试图从未定义的工作簿中获取电子表格。
您的宏没有在正确的时间运行的原因是Application.OnTime
不是 的意思是要在精确的时间运行。如果有任何阻止Excel运行宏的原因,它将不会立即运行。您给它的时间是它将运行宏的最早时间,而不是保证的时间。