【发布时间】:2020-09-01 23:25:41
【问题描述】:
我正在使用这个 excel 工作表函数来获取从日期前一周(开始和结束)的范围。 14.08.2020 给了我 10.08-16.08。我正在尝试将其转换为 VBA 函数,因为它更易于使用,但我的大脑完全停电。你能告诉我我做错了什么吗?
Excel:
=TEXT(DATE(2020;1;1)+(WEEKNUM(D1;2)-1)*7-WEEKDAY(DATE(2020;1;1);2)+1;"DD.MM")&"-"&TEXT(DATE(2020;1;1)+(WEEKNUM(D1;2)-1)*7-WEEKDAY(DATE(2020;1;1);2)+7;"DD.MM")
VBA:
Function dog(x As String) As String
dog = WorksheetFunction.Text(DateSerial(2020, 1, 1) + (WorksheetFunction.WeekNum(A1, 2) - 1) * 7 - Weekday(DateSerial(2020, 1, 1), vbMonday) + 1, "DD.MM") & "-" & WorksheetFunction.Text(DateSerial(2020, 1, 1) + (WorksheetFunction.WeekNum(A1, 2) - 1) * 7 - Weekday(DateSerial(2020, 1, 1), vbMonday) + 7, "DD.MM")
End Function
它只是不起作用(ARG)或(NAME?)
【问题讨论】:
-
参考This