Excel VBA檔案無故損毀!

匿名
2024-01-17T02:40:32+00:00

每天使用同一個Excel VBA的檔案,今早執行時無故失效(見圖),進入F11竟然無法顯示程式碼,但開啟其他VBA檔案卻可以執行及顯示程式碼。

試過以下方法:

  • 重啟電腦
  • 更新Windows 11及Office
  • 清除快取記憶檔案
  • Office修復
  • 更改問題VBA檔案名
  • 使用D盤備份檔案

以上全都無效或修復。

花了一小時,最後要使用外置USB的備份檔案複製才可正常執行,但要再花時間重做工課!

這不是第一次發生的個別事件,至使用MS Office Excel家用版2021(買斷版)後,VBA檔案經常發生問題,以往曾回報MS但仍然沒有得到改善。

Microsoft 365 與 Office | 安裝、兌換、啟動 | 其他 | 其他

鎖定的問題。 此問題已從 Microsoft 支援服務社群移轉。 您可以對其是否有幫助進行投票,但無法對問題新增註解或回覆,或進行追蹤。

0 則留言 沒有留言

10 個回答

排序依據: 最實用
  1. 匿名
    2024-03-28T14:45:42+00:00

    謝謝回覆,我再試試看。

    另外我把美國鄉民的討論貼在這裡。我還沒時間仔細研讀,不過有鄉民提出一些建議: https://www.reddit.com/r/vba/comments/1b0pi0j/excel_vba_corruption_all_over_the_place_wondering/

    此回答有幫助嗎?

    0 則留言 沒有留言
  2. 匿名
    2024-03-28T08:25:38+00:00

    我經歷超過一年無故損毀VBA檔案(每天),數量多達百個以上,最近看似解決?(已20天正常)問題也發問過幾次(如下)

    https://answers.microsoft.com/zh-hant/msoffice/forum/all/excel%E7%B6%93%E5%B8%B8%E5%87%BA%E7%8F%BE%E8%A8%98/56c4b471-7140-4a31-b0f3-06ad51f2253f?page=3

    https://answers.microsoft.com/zh-hant/msoffice/forum/all/%e9%96%8b%e5%95%9fexcel%e6%aa%94%e6%a1%88%e4%bb%8d/744ad29a-cd07-4366-aa7b-67d1b1ec1d0f

    我的經驗是最好以新Office開一個VBA檔案重新建立,但不要複製每個工作頁過去,也不copy&paste連格式整個工作頁複製(因為試過一樣損毀)。要用copy&paste值及公式去重新建立檔案,VBA code也是一樣,雖然很花時但可以避開有問題的格式或不明原因可能導致檔案再次損毀。

    VBA檔本身的code(舊有寫法)、使用其他第三方插件、ActiveX功能或其他連線/結也可能會影響檔案。

    可以先使用Excel內檢查活頁薄功能,掃瞄格式相容性,亦可以用MS程檢查code是否能兼容(工具如下) https://www.microsoft.com/en-US/download/details.aspx?id=55983

    祝順利。

    此回答有幫助嗎?

    0 則留言 沒有留言
  3. 匿名
    2024-03-27T15:54:36+00:00

    大家好,我是VBA新手,這兩天也遇到VBA無故損毀的問題。

    我遇到的問題是:原本都還好好的,執行VBA也沒問題。但只要把檔案關閉重開,就會出現VBA損毀的訊息。修復後,Excel會把所有的VBA code都刪光,連debug的機會都沒有。

    如果沒有預先備份VBA code,只能全部重來。爬了一下美國論壇Reddit,也有蠻多人有這問題

    請問有比較穩定的方式了嗎?

    我是使用64位元,英文版的Windows 11以及Office 365,檔案中有一些中文註解,但變數之類的都是英文,不知道這有沒有影響。看了一些人的經驗,似乎VBA在32位元的環境中比較穩定?

    我已經離開32位元一段時間了,如果VBA在64位元不穩定,我可能就會考慮捨棄學VBA改其他語言或工具。我聽說現在Python蠻大部分可以取代VBA,除了要另外安裝,似乎沒什麼特別缺點,不知道大家有沒有經驗?

    此回答有幫助嗎?

    0 則留言 沒有留言
  4. 匿名
    2024-01-18T11:59:42+00:00

    如果用到 ActiveX ,只能用 x86 的 Office ,微軟並沒打算更新 ActiveX 的位元版本,當成時代的遺毒。

    此回答有幫助嗎?

    0 則留言 沒有留言
  5. 匿名
    2024-01-18T01:54:33+00:00

    對,現在在MS找VBA平台發問也難。

    每天工作的VBA檔在舊電腦Office 2010十多年都沒有出過大問題,但至從新工作站用Office 2021卻每天都出現小問題,最無法接受是檔案不時無故損毀檔案,即使自動修復部份功能也完全失效,現在每天都要靠外置備份作保險/重做。

    MS對於小眾問題視而不見,Office版本愈新對VBA的兼容性愈差,更新也甚少對VBA有改善,尤其一些32轉64位元的編程語法及舊有ActiveX元素的功能經常出問題。

    如果MS一直不對VBA作全面檢討,相信即使重建檔案也無保於事。

    此回答有幫助嗎?

    0 則留言 沒有留言