3

我需要用日期自动填充特定列。如果日期发生在星期六到星期二之间,我需要用上一个星期五自动填充日期列。如果日期发生在周三和周五之间,我需要输入即将到来的周五日期以进行自动填充。

例如:如果我在 10 月 23 日星期二运行电子表格,我需要将自动填充日期设置为 10 月 19 日星期五。如果我在 10 月 24 日星期三运行电子表格,我需要自动填充日期为 10 月 26 日星期五。

这是我到目前为止的公式,所以我需要在保存电子表格或单击自定义按钮时通过宏调用此公式。任何帮助将不胜感激。

=IF(ISBLANK($A2),"",IF(WEEKDAY(TODAY())<4,(TODAY()+(-1-WEEKDAY(TODAY()))),(TODAY()+(6-WEEKDAY(TODAY())))))
4

1 回答 1

0

我建议您使用 VBA 来满足您的需求,类似这样的东西将进入 ThisWorkbook 模块并在工作簿保存之前运行:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    'Check if A2 is blank
    If Cells(2, 1) = "" Then Exit Sub
    'Find the date and use it
    Dim x As Long
    Dim dateToUse As Date
    x = Weekday(Date, vbSaturday)
    If x <= 4 Then
        dateToUse = Date - x
    Else
        dateToUse = Date + (7 - x)
    End If
    'Change Cells(1, 1) to the actual target you want to have the date, 
    'which could be determined based upon the contents of your workbook/sheet.
    Cells(1, 1) = dateToUse
End Sub
于 2012-10-25T14:35:17.603 回答