[算表] 用vba自訂排序,存檔會自動關閉檔案

作者: vitor (量才適性)   2020-05-26 21:36:45
軟體:Excel
版本:2016
請問各位大大
小弟用vba撰寫自訂排序的程式碼
執行時沒問題,儲存時卻會自動關檔而無法儲存,怎樣都找不出原因
截取其中程式碼如下:
Set 審查人 = Sheets("審查人清單").Range("A2:A" & 清單列)
Application.AddCustomList 審查人
n = Application.CustomListCount
Range("A2:R" & 報表列).Sort key1:=Range("A2"), ordercustom:=n + 1, key2:=Range("B2"), Header:=xlYes
Application.DeleteCustomList n
(為避免程式碼過多而失焦,僅截取片段,如有需要再提供完整程式碼)
經以逐行執行方式偵錯,似乎是「Application.DeleteCustomList n」這段程式碼造成
請問造成關檔的原因為何?如何修正才能順利存檔呢?
希望各位大大不吝指教,感恩
作者: soyoso (我是耀宗)   2020-05-26 22:07:00
提供檔案含巨集會比較清楚以內文所提供,逐行執行並無錯誤訊息https://i.imgur.com/siyVNC4.jpg測試上到存檔時確實excel會當掉,原因是刪除自訂清單後,排序內還是保留了先前寫順序以自訂清單,但該自訂清單已被刪除了,於range.sort排序後,加上worksheets.sort.sortfields.clear,工作表名稱再依實際鍵入,或activesheet、sheets(..),存檔時就沒發生了,試看看。
作者: vitor (量才適性)   2020-05-26 23:05:00
解決了!您真是高手高手高高手

Links booklink

Contact Us: admin [ a t ] ucptt.com