我编写了下面的VBA。它正在工作,但存在以下问题。如有任何帮助,我们将不胜感激。问题:
- 它不会完全按照指定的时间间隔粘贴
- 当电子表格最小化时,它将停止工作,并在工作表上显示错误("IV轨迹"(。选择
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运行宏,它将不会立即运行。您给它的时间是它运行宏的最早时间,而不是保证时间。