2013-02-01 36 views
0

我使用以下內容在複選框被選中後插入當前日期到Excel單元格中。我想改變它,以便插入即將到來的星期日的日期。我嘗試使用Weekday函數,但無法獲得正確的語法,或者這不是正確的方法。你能幫我嗎?當複選框被選中時填充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 

回答

3

嘗試date + 7 - WEEKDAY(Date)+ 1

瞭解什麼是用公式去,它可能是更好的它表示爲date-WEEKDAY(date)+1+7

從當前日期開始,您將減去#表示該日期的星期幾,該日期將給出您前一週最後一天的日期。然後添加1天以獲得本週的第一天(本週日),然後再添加7天以獲得下週日。

與明智一樣,下個星期一使用date-WEEKDAY(date)+2+7,下週二使用date-WEEKDAY(date)+3,依此類推。

+0

該代碼像一個魅力工作!現在當我檢查盒子時,就像我需要的那樣插入下一個星期日。謝謝! –

相關問題