如何日期戳最后一个星期日的日期

How to date stamp last Sunday's date

我希望在打开时在电子表格上标记几个日期。

我现在的脚本如下:

Private Sub Workbook_Open()

'Automate start time on opening
    With Worksheets("Time Recording Estimate")
        If IsEmpty(.Range("B4")) Then .Range("B4").Value = "Start"
    End With
End Sub

我现在还想为最后一个星期日添加邮票,希望它看起来像下面这样:

Private Sub Workbook_Open()

'Automate start time on opening
    With Worksheets("Time Recording Estimate")
        If IsEmpty(.Range("B4")) Then 
            .Range("B4").Value = "Start"
            .Range("V3").Value = Now() - Weekday(Now()) + 1
    End With
End Sub

我不确定公式的哪一部分是错误的,无法通过。

非常感谢您提供的任何帮助。

您的代码似乎缺少 End If:

Private Sub Workbook_Open()

'Automate start time on opening
    With Worksheets("Time Recording Estimate")
        If IsEmpty(.Range("B4")) Then
            .Range("B4").Value = "Start"
            .Range("V3").Value = Now() - Weekday(Now()) + 1
        End If
    End With
End Sub

一旦我添加了它(并将工作表名称更改为我实际拥有的名称),它 运行 正确:如果单元格 B4 为空,那么它将 "Start" 放入单元格 B4 和单元格 V3.

中的星期日日期(在本例中为今天,因为它是星期日)

我建议您[始终]将此行添加到任何模块的顶部:

Option Explicit

这将 "force" 正确声明和使用变量、对象、属性等,将来会为您省去很多麻烦。

此外,你应该编译代码,这样你就可以看到问题出在哪里。 Here is a quick overview 进程。