0

在选中复选框后,我正在使用以下内容将今天的日期插入到 Excel 单元格中。我想更改它,以便插入即将到来的星期日的日期。我尝试使用 Weekday 函数,但语法不正确,或者这不是正确的方法。你能帮我吗?

Sub Process_CheckBox()

   Dim cBox As CheckBox
   Dim LRow As Integer
   Dim LRange As String

   LName = Application.Caller
   Set cBox = ActiveSheet.CheckBoxes(LName)

   'Find row that checkbox resides in
   LRow = cBox.TopLeftCell.Row
   LRange = "D" & CStr(LRow)

   'Change date in column D, if checkbox is checked
   If cBox.Value > 0 Then
      ActiveSheet.Range(LRange).Value = Date

   'Clear date in column D, if checkbox is unchecked
   Else
      ActiveSheet.Range(LRange).Value = Null
   End If

End Sub  
4

1 回答 1

3

尝试date + 7 - WEEKDAY(Date)+ 1

要了解公式的含义,最好将其表示为date-WEEKDAY(date)+1+7

从当前日期中减去代表该日期的星期几的 # ,它为您提供前一周最后一天的日期。然后添加 1 天以获得本周的第一天(本周日),然后再添加 7 天以获得下周日。

下周date-WEEKDAY(date)+2+7一,date-WEEKDAY(date)+3下周二,依此类推。

于 2013-02-01T23:30:43.257 回答