vba - 宏以一定时间间隔重复并在电子表格最小化时工作
问题描述
我写了下面的VBA。它正在工作,但有以下问题。任何帮助,将不胜感激。问题:
- 它不会完全按照指定的时间间隔粘贴。
- 当电子表格最小化时它停止工作 - 并在 Worksheets("IV track").Select 上给出错误。
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 运行宏,它不会立即运行它。您给它的时间是它运行宏的最早时间,而不是保证时间。
推荐阅读
- r - 将直方图与 ggplot2 中单独均值的散点图相结合
- c# - 时间:2019-05-10 标签:c#linq join on同一张表的空列
- python - 使用python将变量行添加到excel工作表
- javascript - 拆分 Array 的元素并请求“length”返回错误
- javascript - 了解 Javascript(单线程)
- module - 为 PythonOperator 任务导入外部包
- flutter - 如何在小部件之间传递颜色和主题信息?
- apache-flink - 有没有办法定义递归引用自身的 Flink POJO 类型?
- unity3d - 如何修改默认的 tile map collider 2D Unity?
- java - 尝试使用 JWT "status" 执行请求时发生错误:500,