我想将特定日期(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