簡體   English   中英

VBA將特定日期設置為一年的第一周

[英]VBA Set a specific date to be the first week of the year

我想將一個特定的日期(October 06 , 2014)設置為一年的第一周。 因此,當我使用=weeknum() formulaR1C1 ,它將返回星期數。

我目前正在處理一個工作表,該工作表每天更新一次,因此周數僅每周更新一次。 列(“ 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

這樣您就可以始終決定哪一天是一年中的第一天。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM