[算表] 用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