2014-03-05 151 views
0

我正在編寫寫星期一的日期的代碼。例如,對於今天的一週,我會寫14年3月3日,並在下面的單元格在下週一日期...vba循環直到找到特定值

3/3/14 
3/10/14 
3/17/14 
i will drag it till 12/29/2014. 

我剛剛寫了一些循環

sub loop() 
    ActiveCell.FormulaR1C1 = "29-Dec-2014" 
    Range("I1").Select 
    Range("I1").End(xlDown).Select 
    ActiveCell.Offset(1, 0).Select 
    ActiveCell.Value = i + 1 

現在我的問題是如何我會寫一個代碼,它將當前的星期一日期和循環直到12/29/14。 我希望我會在這裏得到解決方案。

+0

你想在循環中做什麼?只需將每個星期一的日期寫到2014年12月29日? – Octavio

+0

如果你只是想獲得的值,您不必編寫VBA實際上 – sam092

+0

奧克塔維奧:是的......我想要寫在每個星期一日期爲每週till29th十二月2014 – Vikrantnag

回答

0

雖然,作爲評論暗示,它可能是一個輕微的矯枉過正使用VBA這一點,你可以自動使用宏類似下面的VBA過程:

Sub ListMondays() 
    Dim PrintDate As Date, EndDate As Date 
    Dim i As Integer 

    PrintDate = Date - Weekday(Date, vbMonday) + 1 

    EndDate = DateSerial(2014, 12, 29) '<~~ Define end date! 
    i = 0 

    Do 
     ActiveCell.Offset(i, 0).Value = PrintDate 
     PrintDate = PrintDate + 7 
     i = i + 1 
    Loop Until PrintDate > EndDate 
End Sub 

這將填充細胞活動單元格,並且每個星期一的日期向下,直到達到所定義的結束日期。