选中复选框后,我正在使用以下内容将今天的日期插入excel单元格。我想更改它,以便插入即将到来的星期日的日期。我尝试使用工作日功能,但无法正确使用语法,或者这不是正确的方法。你能帮我吗?
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
答案 0 :(得分:3)
尝试date + 7 - WEEKDAY(Date)+ 1
要了解公式的含义,最好将其表示为date-WEEKDAY(date)+1+7
。
从当前日期开始,您将减去表示该日期的星期几的#,该日期为您提供上一周最后一天的日期。然后你加1天来获得当周(本周日)的第一天,然后又增加7天来获得下周日。
同样明智的是,您将在下周一使用date-WEEKDAY(date)+2+7
,在下周二使用date-WEEKDAY(date)+3
,依此类推。