我想將特定日期(October 06 , 2014)
設置爲一年中的第一週。因此,當我使用=weeknum()
formulaR1C1
時,它將返回週數。VBA將特定日期設置爲年度第一週
我目前正在研究每天更新的工作表,因此每週的數字只會每週更新一次。列(「D」)表示週數。和列(「B」)表示日期。
如果我使用=weeknum()
公式就可以返回41的值,但它需要一週數字1
我想將特定日期(October 06 , 2014)
設置爲一年中的第一週。因此,當我使用=weeknum()
formulaR1C1
時,它將返回週數。VBA將特定日期設置爲年度第一週
我目前正在研究每天更新的工作表,因此每週的數字只會每週更新一次。列(「D」)表示週數。和列(「B」)表示日期。
如果我使用=weeknum()
公式就可以返回41的值,但它需要一週數字1
如何創建自己的個性化功能? 它只包括計算插入日期(myDate)和被認爲是一年中第一天(first_day)的日期之間有多少天,將該數字除以7,取其整數並加起來1它總會給你正確的一個。
Public Function special_weeknum(ByVal myDate As Date) As Integer
Dim first_day As Date: first_day = #10/6/2014#
Dim myWeek As Integer: myWeek = Int((myDate - first_day)/7) + 1
special_weeknum = myWeek
End Function
請注意,這種方法將讓你也來的第一天通過爲用戶輸入:
Public Function special_weeknum(ByVal myDate As Date, ByVal first_day As Date)
Dim myWeek As Integer: myWeek = Int((myDate - first_day)/7) + 1
special_weeknum = myWeek
End Function
,這樣你就總是能夠決定哪些是您必須考慮的一天一年中的第一天。
謝謝馬泰奧NNZ它的工作現在 – Jarlee 2014-10-30 00:42:02
任何原因,你不能總是做「= weeknum() - 40」。 – 2014-10-29 04:10:34
以下是列出如何在VBA中執行此操作的文章:http://www.cpearson.com/excel/WeekNumbers.aspx。 – BobbitWormJoe 2014-10-29 04:19:46
嗨安德魯L,我不能使用它,因爲它會影響其他日期,可以說我使用它在2014年10月12日,它會返回爲第2周,但實際上只有6天過去了,它被視爲週數2.它仍然只在第一週 – Jarlee 2014-10-29 06:19:25