系统:Windows 7
软件:Excel 2010
引言
- 关于某一个时间属于当年度哪一周这个问题,在之前的文章中也有介绍过。使用的是Format函数,WeekNum函数也可以实现部分功能
- 今天讲讲另外一个能够实现该功能的函数:DatePart
思考:实验设计
- 实验1:设置几个时间值,设置不同参数,通过
DatePart
返回对应的周次, - 实验2:一系列值,对比Format,WeekNum, DatePart
实验1:代码
Sub test_code()
date_time = #1/2/2017#
zhouci_1 = DatePart("ww", date_time, vbMonday, vbFirstJan1)
zhouci_2 = DatePart("ww", date_time, vbMonday, vbFirstFourDays)
Debug.Print ("zhouci_1=" & zhouci_1)
Debug.Print ("zhouci_2=" & zhouci_2)
End Sub
代码截图
日历
实验1:代码解读
DatePart(返回数据指定, 拟解读时间, 每周开始的第一天, 判别每年第一周方法)
- 常见每年第一周指定方法:包含1月1日的为第1周;第一个一周中有4天在新的一年中的那一周为第一周
DatePart支持返回的数据
每周开始的第一天
每年开始第一周
实验2:代码
Sub test_code2()
Dim date_i As Date
Set sht = ThisWorkbook.Worksheets("示例")
For i = 3 To 8 Step 1
date_i = sht.Cells(i, "A")
'DatePart
zhouci = DatePart("ww", date_i, vbMonday, vbFirstFourDays)
sht.Cells(i, "B") = zhouci
'Format
zhouci = Format(date_i, "ww", vbMonday, vbFirstFourDays)
sht.Cells(i, "C") = zhouci
'WeekNum
zhouci = Application.WeekNum(date_i, 2)
sht.Cells(i, "D") = zhouci
Next i
End Sub
代码截图
结果
Ps:关于Format,WeekNum解读,请查看以下两篇文章
更多精彩,请关注微信公众号
扫描二维码,关注本公众号