我完全被难住了-
使用 Weekday()
vba 中的函数返回不正确的工作日,而在 Excel 中的工作表中使用它返回正确的工作日。指定或省略周开始参数似乎也没有任何区别。
系统时钟(我认为它用于“今天”)没有改变。事实上,我什至无权更改它。
这是我在 VBA 中的即时窗口返回的内容:
Print Weekdayname(Weekday(today),False)
Saturday
Print Weekday(today)
7
Print Application.WorksheetFunction.Weekday(today)
7
Print Weekday(6/5/2014)
7
Print Weekday(6/13/2014)
7
另一方面,Excel 工作表为这些公式返回 5:
=WEEKDAY(TODAY())
=WEEKDAY(DATEVALUE("06/5/2014"))
任何帮助将不胜感激!
编辑:
我在 Windows 7 上使用 Excel 2010。
最佳答案
问题是“今天”不会返回任何东西。现在使用”:
Weekdayname(Weekday(Now),False)
此外,对于您输入日期的最后一个函数,您需要将其放在引号中:
Weekday("6/5/2014")
关于VBA Weekday 函数返回与 Excel Weekday 函数不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24061516/