DatePart知多少

微信公众号原文

系统:Windows 7
软件:Excel 2010

引言

  • 关于某一个时间属于当年度哪一周这个问题,在之前的文章中也有介绍过。使用的是Format函数,WeekNum函数也可以实现部分功能
  • 今天讲讲另外一个能够实现该功能的函数:DatePart

思考:实验设计

  1. 实验1:设置几个时间值,设置不同参数,通过DatePart返回对应的周次,
  2. 实验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

代码截图
3.png

日历
2.png

实验1:代码解读

  1. DatePart(返回数据指定, 拟解读时间, 每周开始的第一天, 判别每年第一周方法)
  2. 常见每年第一周指定方法:包含1月1日的为第1周;第一个一周中有4天在新的一年中的那一周为第一周

DatePart支持返回的数据
4.png

每周开始的第一天
5.png

每年开始第一周
6.png

实验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

代码截图
8.png

结果
7.png

Ps:关于Format,WeekNum解读,请查看以下两篇文章


更多精彩,请关注微信公众号
扫描二维码,关注本公众号

公众号底部二维码.jpg

猜你喜欢

转载自blog.csdn.net/fourSeasonBeans/article/details/80961207