1 2 3 4 5 6

廣告

網友您好,若是您覺得我寫的工具或文章對您有幫助,
而您或者您的朋友有在博客來購物,可以透過底下連結

如何在博客來購物贊助網站或是點選計數器下方的博客來圖示來讓網站可以永續經營。

2012年1月19日 星期四

如何解決Excel VBA出現找不到專案或程式庫

這個訊息會出現在Excel VBA使用第一個系統函數時,這是Excel VBA參照的檔案找不到所造成,會發生這個問題,通常是在不同Excel版本中比較容易會發生,只要到參數將找不到的引用項目的勾拿掉,就會正常。

1.出現找不到專案或程式庫

2.[工具]/[設定引用項目]

3. 將找不到的引用項目的勾拿掉

17 則留言:

小晨 提到...

感謝您的回覆,再次請教,第二點您說要選擇的"設定引用項目"是反白的呢,請問我有少哪個步驟呢????
再次麻煩您~

小晨 提到...

抱歉,我有參考您的"Excel2007開啟VBA選項"使用開發人員開啟VBA程式,設定引用項目就可以按了,但是對照您的第三張圖後,都一樣有勾選那四項呢,今天把檔案COPY回家開啟,一樣的狀況呢,難道真的是64位元的關係???

小晨 提到...

阿 解決了~~開啟compareab後,直接開啟VB編輯器,設定引用項目就可以按了,果然出現一個"遺漏:Microsoft Windows Common Controls 6.0(SP6)",把這項選項勾除掉即可。
非常感謝您的幫助,這個比對的EXCEL檔案真的很棒,再次感謝您的解說。

明和蔡 提到...

小晨您好:
也謝謝您幫我找到問題,我己將檔案的這個引用拿掉了.也重新上傳到網站了.

黑鳥 提到...

Hello,您好,
請問如何可以判斷自已使用的EXCEL檔案中(含VBA巨集)有引用到「Microsoft Windows Common Controls 6.0(SP6)」??

最近升級至2010,也出現了您這篇文章碰到的問題。雖然用取消勾選引用項目可以解決,但總覺得很不方便。

謝謝

一整天 提到...

黑鳥您好:
最簡單的方式是您把勾拿掉,如果程式可以正常執行,就表示這個元件沒有被使用到,如果程式有錯誤並進入偵錯模式,您看到是那個指令,就是那個指令有用到此元件.

黑鳥 提到...

ok,了解了,謝謝囉 ^^

Elton 提到...

您好~我也遇到此問題,設定引用項目也是反白,但"Excel2007開啟VBA選項"裡的excel選項在Excel2003找不到,另外我有點疑惑,我上禮拜五以前都很正常,而且也沒更新任何東西,忽然今天就這樣,檔案也本來就再電腦裡並非新檔案,麻煩您幫忙了~

Elton 提到...

您好~我也是有"設定引用項目"反白問題,但我的是2003"Excel2007開啟VBA選項"中的EXCEL選項我找不到,另外我有點困惑,因為上禮拜五以前完全都沒問題,我也沒更新版本,檔案也是本來就有了,不知道為啥忽然就出現這個問題,再麻煩您了~

Peggy 提到...

版主,
很開心能看到你的網頁,教了許多excel
但是還是不知道如何著手
每個月都要整理營收,從系統裡撈出來的資料是上千筆的交易內容(欄位分別為公司名稱,產品名稱,數量..幣別...),然後把資料貼成直式,才能做樞紐;另外還要將海外公司的按公司別,產品尺寸營收併入並算其占的比例,每月光整理這些資料要花很多時間,如遇到有新料號產生,還要自行調整,以免資料錯誤,報表的資料是一個月一個月往上加,檔案越來越大,請版主指點該如何下手?

一整天 提到...

Peggy您好,
麻煩您
到http://discuz.bestdaylong.com/(彰化一整天的論壇)
張貼問題(可貼圖及上傳檔案)。

孫守真 提到...

請問設定引用項目這項動作可以用程式碼寫出來嗎?亦即在程式執行前,可否讓其自行檢測引用項目是否有漏掉的情況。感謝您。

孫守真 提到...

請問微軟的這個方法可行嗎?不知先生有無好辦法?我還沒試。稍後再試。還望先生有空時能與指教,我有新得亦必奉上。感謝您。
http://support.microsoft.com/kb/308340/zh-tw

孫守真 提到...

看來不行,仍要先引用「Microsoft Visual Basic for Applications Extensibility 5.3」也,這樣還不是得手動引用?還是有設「Microsoft Visual Basic for Applications Extensibility 5.3」為預設引用值的辦法。
再試了。

孫守真 提到...

還有執行上式前,也得先將信任中心的「巨集設定」先設為「信任存取VBA專案物件模型」才行。實在仍屬笨拙....orz

孫守真 提到...

還是這個方法好用呀。可以寫在打開活頁薄事件上看看,我等下試,成功了就不再回了。

On Error Resume Next
Application.VBE.ActiveVBProject.References.AddFromFile (引數為參照引用檔之全檔名(路徑+檔名+副檔名))

因為如我要加入Word,會出現無法進入中斷模式,故On Error Resume Next此行必要。
如何找到要參照引用的檔案的全檔名,我的方法是在設定引用項目中查看想要引用的項目,下方會有「位置:」資訊,若位置太長將無法看到全檔名的字串,則用AutoIt Window Info ,打開後,將滑鼠移到此「位置:」資訊此即可.

http://www.mrexcel.com/forum/excel-questions/590567-use-visual-basic-applications-install-excel-reference.html

孫守真 提到...

若有後續討論,詳我此帖:

http://oscarsun72.blogspot.com/2014/08/vbahow-to-addremove-reference.html

阿彌陀佛

贊助

彰化一整天粉絲團