![](/img/trans.png)
[英]Excel VBA Networkdays with Company Holidays, Unable to get Networkdays Property
[英]Excel VBA: NetworkDays Error 2015
我在VBA類中有這段代碼,它可以鍛煉類的屬性(日期)和今天的日期之間的天數。
Dim EmailDate As Date
EmailDate = Me.Email.DateReceived
Debug.Print EmailDate, Date
Debug.Print NetworkDays(EmailDate), Date, Range("BankHolidays"))
當我運行它時,我得到以下輸出
23/04/2010 19/05/2010
[GetMacroRegId] 'NETWORKDAYS' <
[GetMacroRegId] 'NETWORKDAYS' -> '699990072' >
Error 2015
我已經在模塊中使用偽數據對其進行了測試,並獲得了正確的答案。 誰能看到為什么這會給課堂帶來錯誤?
我已經引用了atpvbaen.xls。
編輯:我發現,當我通過菜單欄上創建的菜單選項運行代碼時,它會失敗,但是當我通過按鈕或通過VB編輯器運行代碼時,它可以正常工作。 看起來這與菜單有關。
謝謝馬丁
您確定將代碼正確粘貼到您的問題中嗎? NetworkDays接受3個參數,而不是1個,因此:
Debug.Print NetworkDays(EmailDate), Date, Range("BankHolidays"))
應該:
Debug.Print NetworkDays(EmailDate, Date, Range("BankHolidays"))
從Menu運行時,您正在應用程序級別上下文中運行。 因此,如果未定義范圍或未在多個打開的工作簿中定義范圍,則不能正確解析Range(“ BankHolidays”)。 嘗試使用
activeworkbook.activesheet.Range("BankHolidays")
那應該解決名字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.