date标记打开工作簿

我有一个工作簿,我希望自动计算文件的初始化到期date。

我目前的逻辑思想如下,但它给了我一个“暧昧的名字”的错误信息:

Private Sub Workbook_Open() If Worksheet(1).Range("G30") Is Nothing Then Range("G30").Value = Now + 120 On Error GoTo 0 End Sub 

该工作簿旨在根据需要进行更新,因此需要检查date戳是否已被标记。

有没有人有任何build议,在这种情况下? 提前谢谢了!

那将是:

 Private Sub Workbook_Open() With Worksheets("General Profiling") If IsEmpty(.Range("G30")) Then .Range("G30").Value = Now + 120 End With End Sub 

以来:

  • Worksheet不是有效的对象引用

  • someRange是没有的

    用于检查Rangetypes的variablessomeRange是否被赋值

    Worksheets(1).Range("G30")只是默认为该Range对象的Value属性,然后你必须检查它是否为Empty或不

  • 你的第二范围参考( Range("G30").Value )不完全合格

    那么它会在当前活动的工作表中引用Range("G30") ,这不可能是你想要的。

    使用With Worksheets(1) - End With块和点( . )在所有Range调用之前将确保它们引用相同(并且想要的)工作表