2016-12-04 359 views
0

我想删除所有(=可变数量的)在VBA Excel自定义排序列表,但我不能在任何地方找到合适的语法。如何删除vba中的所有自定义排序列表?

我知道有两种选择:

1写入的内容automattically删除所有自定义sortlists的命令,这是我的尝试吧:

Application.DeleteCustomList() 

2.A编写返回数的命令定制sortlists = b

2.B然后删除手动定制sortlists用:

2.B.1:

for del = 0 to b 
    Application.DeleteCustomList (del) 
next del 

2.B.2:

for del = 1 to b 
    Application.DeleteCustomList (del) 
next del 

2.C

For delete_lists = 100 To 0 Step -1 
    On Error Resume Next 'delete_list 
    Application.DeleteCustomList (delete_lists) 
Next delete_lists 

有谁知道(纽约州)运作的方式来实现这一目标?

亲切的问候。

回答

1

你的问题是,Excel不希望你删除的基础上,现有的自定义列表。我的Excel中有4个 - 但从一个版本到另一个版本可能会有所不同。

(一周的日,月,等等......如果你去“文件”,“选项”,“高级选项”,然后在下方的“编辑海关清单”)

我想你最简单的办法是在错误恢复下一个:

Sub test() 
On Error Resume Next 
Dim i As Long 
For i = 1 To Application.CustomListCount 
    Application.DeleteCustomList (i) 
Next i 

On error GoTo 0 
    End Sub 

还是去errHandler如果你有一些错误处理过程 - 因为否则可能未来你的整个脚本恢复这可能不是你想要的。

+0

非常感谢你,我忘了'Application.CustomListCount'选项。这应该做到这一点! –