填写Excel字段与未来的datecheckbox被选中

选中checkbox后,我使用以下内容将今天的date插入到Excel单元格中。 我想改变它,以便插入即将到来的星期天的date。 我尝试使用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 

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

为了理解公式是怎么回事,最好把它表示为date-WEEKDAY(date)+1+7

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

就像明智的一样,你可以在下个星期一使用date-WEEKDAY(date)+2+7 ,下个星期date-WEEKDAY(date)+2+7使用date-WEEKDAY(date)+2+7 date-WEEKDAY(date)+3 ,等等。