[英]VBA Weekday function returns different value from Excel Weekday function
我完全迷住了-
在vba中使用Weekday()
函數返回不正確的工作日,而在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")
您嘗試顯示由6/5/2014
計算6/5/2014
的日期序列號的6/5/2014
(即6除以5再除以2014)。
如果要使用日期類型的文字值,請在“立即”窗口中嘗試:
?Weekday(#6/5/2014#)
請注意以下內容與:
?Weekday(6/5/2014)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.