VBA将特定date设置为一年中的第一周
我想把具体的date(October 06 , 2014)
定为今年的第一周。 所以当我使用=weeknum()
formulaR1C1
它将返回星期数。
我目前正在制作每天更新的工作表,所以每周的数字只会每周更新一次。 栏(“D”)表示周数。 和列(“B”)表示date。
如果我使用=weeknum()
公式返回值41,但它需要是第1周。
如何创build您的个性化function? 它只是计算插入date(myDate)和被认为是一年的第一天(first_day)的date之间有多less天,将这个数字除以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
请注意,这种方法将允许您也将第一天作为用户input:
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
所以你总是能够决定哪一天是你必须考虑的一年中的第一天。