日期标记打开的工作簿

时间:2016-10-17 05:38:01

标签: excel vba

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

我当前的逻辑思路如下,但它给了我一个"不明确的名字"错误讯息:

Private Sub Workbook_Open()

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

End Sub

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

在这种情况下,有人会有任何建议吗?非常感谢提前!

1 个答案:

答案 0 :(得分:1)

那将是:

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

自:

  • Worksheet不是有效的对象参考

  • someRange没什么

    用于检查是否已分配Range类型变量someRange

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

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

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

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