如何在上周日的日期标记日期

时间:2018-02-18 23:43:49

标签: vba

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

我目前的脚本如下:

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

我不确定公式的哪一部分是错误的并且未能通过。

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

1 个答案:

答案 0 :(得分:1)

您的代码看起来缺少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为空,那么它会在单元格B4和星期日放置“开始”在单元格V3中的日期(今天在这种情况下,因为它是星期日)。

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

Option Explicit

这将“强制”适当的声明&使用变量,对象,属性等,将来会为您节省很多麻烦。

此外,您应编译代码,以便了解问题所在。 Here is a quick overview过程。