Excel 檔案如何匯入巨集

本文是取代掉舊巨集的步驟,裡面也包含了如何匯入。
Spread the love

【聲明】本站任何文章都可能有聯盟行銷連結,當你透過文章內的連結購買產品,我可能獲得分潤,這不會增加你任何成本,並且我分享的都是自己實際使用過的資訊,更多細節請點這裡。 Disclosure: Any post on this site may contain affiliate links, meaning I get commission if you decide to make a purchase through my links, at no cost to you.


約莫半年多前在辦公室寫的 VBA,收到 Line 訊息說無法執行,我打開收到的檔案一看,嗯,用到了舊版檔案,於是用 Line 訊息回覆了取代方式,順便記錄下被問到的小細節。

若使用網路傳送 Excel 檔案,有可能因為安全性導致巨集被封鎖不能執行,此時也可以採用文字匯入巨集的方式。你傳送一個 txt 檔案,對方收到後再另存成副檔名為*.bas 的檔案就好。

準備檔案

  1. 副檔名為 *.xls 或者 *.xlsx 的檔案,內含舊的巨集
  2. 副檔名為 *.bas 的文字檔(可右鍵用記事本開啟檢查內容)

匯入新巨集

要自己注意一下,匯入的巨集是否跟其他的檔案裡面的巨集內容(Sub)有相同名稱。如果有相同,運氣好在執行時會跳出錯誤,運氣不好就是啥都沒有出現。其實就算你不注意,只要執行出不來,就會知道有問題了。那麼,以下是執行步驟:

叫出 VBA 編輯視窗

直接按下快捷鍵【Alt + F11】就能叫出編輯視窗。如果你有打開【開發人員】的功能選單,依序按下Alt →L→V也是可以開啟,但【Alt + F11】是最省事的方法。

選擇要匯入巨集的檔案

這一步很容易漏掉,因為只開啟一個檔案的時候,不需要選擇也會匯入到正確的地方,但如果同時開啟著多個檔案,一定要記得這一步。確認在【專案 – VBA Project 】裡面點到要更換巨集的 Excel 檔,舉例我現在要匯入巨集到【(新)112年】開頭的檔案,我就必須點選它。以下圖來說,就是紅色框起來的部分。

在VBA編輯器選擇正確檔案

按下快捷鍵【Ctrl + M】選擇匯入檔案

Ctrl+M匯入巨集檔案

選好 *.bas 檔案,確定匯入

匯入以後並不會去跳出成功或者是失敗的訊息。直接從模組看有沒有增加 Module 就好了。可以把模組前面的+號展開檢查。以下圖為例,因為我要匯入到【(新)112年】開頭的檔案,所以 Module 若是增加在藍色的地方,那就表示匯入錯誤;如果是增加在紅色框起來的地方,就是正確的。

確認匯入的巨集模組是否正確

刪除舊巨集

  1. 確認在【專案 – VBA Project 】裡面點到要更換巨集的 Excel 檔
  2. 把舊的模組(Module)按右鍵移除,怕刪錯的話,在詢問是否匯出的時候,可以選擇【是】,先存檔保留一份舊巨集內容。

常見錯誤與解決

  1. 匯入的巨集跟其他的檔案裡面的巨集內容(Sub)有相同名稱,產生衝突。 → 檢查 Sub
  2. 執行前沒有清除工作表的篩選與排序等操作。 → 清除此類操作
  3. 用來執行巨集的按鈕抓不到巨集,可能會出現的錯誤包括但不限於【發現不確定的名稱】。 → 在按鈕上按右鍵指定巨集

附註

  1. 使用 Line 來傳送 .bas 檔案的時候,可能會自動變成zip檔,記得要解壓縮以後再使用。
  2. .bas 雖然本質上是文字檔,但如果不使用上述的匯入步驟,而是直接用記事本開啟、複製貼上的話,有可能會碰到編碼的問題,導致貼上的中文變成亂碼。
  3. 比較新版本的 Excel 程式,可以把巨集直接存在電腦的 Excel 裡,所以就算你的檔案本身沒有帶著巨集,使用存有巨集的 Excel ,一樣是可以執行的。
  4. 不同電腦編寫的巨集,直接匯入有機率碰到相容性的問題,譬如新版寫的檔案處理類型,舊版本不支援,不過通用的簡單語句一般可以正常執行,總之匯入執行有問題的話,再來除錯就是了。
分享文章
Chaneswin
Chaneswin

【阿淳】漂流過網路行銷、組織行銷、被創業的光環迷惑過,體驗那些未曾想像的驚奇之後,最終的自由卻是擁有澄澈的雙眼、返璞歸真的看世界,我的冒險不在鎂光燈的絢麗舞台,而在迷宮中。把心路歷程化為故事、把工具筆記在雲端。在瞬息萬變的世界裡,慢慢來。
【阿淳的自由生活工具箱】前身小查的白日夢。從腦中的虛幻到真實世界,這裡記錄著一路上不同階段的想法、課程、工具、實踐、挫折,從此放下權威迷思。如果翻出你需要的工具,歡迎隨喜自取、提問討論 :)

文章: 352

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *