【发布时间】:2020-03-02 10:19:33
【问题描述】:
我想知道是否有任何自定义日期格式(Excel 或 VBA)在日期中显示(一年的)周数。
这里是为了澄清我的意思:假设
A1 = "02/03/2020 13:19:57"
我在 A1 上有这个自定义格式:
[$-en-US]ddd, mmm dd, hh:mm
结果是:
Mon, Mar 02, 13:19
所以我想在最后有周数:
Mon, Mar 02, 13:19, 10
顺便说一句,需要“A1”保留为日期
感谢任何帮助。
感谢@FaneDuru 解决
WeekNum = WorksheetFunction.WeekNum(ActiveCell, vbMonday)
With ActiveCell
.NumberFormat = "[$-en-US]ddd, mmm dd, hh:mm" & """, W" & WeekNum & """"
Debug.Print "Week num: " & WorksheetFunction.WeekNum(.Value)
Debug.Print Year(.Value)
End With
【问题讨论】:
-
您可能需要考虑将周数放在旁边的单独单元格中,以便您可以将其保留为日期格式。
-
您可以在 VBA 中使用它来获取周数:
WorksheetFunction.WeekNum(DateValue(oSht.Range("A1")))(其中oSht是您的工作表)。您还可以使用WeekNum作为公式来获得所需的结果。这么说,我同意@braX:你应该考虑一个单独的列来保留你的源列