宏每隔一段时间重复一次,并在电子表格最小化时起作用

问题描述

我写了下面的VBA。它正在工作,但是存在以下问题。任何帮助,将不胜感激。 问题:

  1. 它不能完全按照指定的时间间隔粘贴。
  2. 当电子表格最小化时它将停止工作-并在Worksheets(“ 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运行宏的原因,它将不会立即运行。您给它的时间是它将运行宏的最早时间,而不是保证的时间。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...