簡體   English   中英

VBA工作日函數返回的值與Excel工作日函數不同

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM