Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
123
返回列表 发新帖
楼主: ycb20010823

[已解决]自定义排序代码出错问题

[复制链接]
发表于 2017-9-28 11:00 | 显示全部楼层    本楼为最佳答案   
'用指定列中的序列自定义排序
Sub test()
    Dim n As Integer
    '获取自定义序列的个数
    n = Application.CustomListCount

    '1)如果指定序列不存在,则添加
    Sheets(1).Select
    If Application.GetCustomListContents(n)(1) <> [b4] Then
        Application.AddCustomList Range("B4:B49")
    End If

    '2)排序
    Sheets(2).Select
    Range("a2:c" & Range("c65536").End(xlUp).Row).Sort key1:=Range("b1"), OrderCustom:=n + 1

    '3)删除该序列
    Application.DeleteCustomList n + 1
End Sub





没装2013,没法试

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

发表于 2017-9-30 20:49 | 显示全部楼层
ycb20010823 发表于 2017-9-27 17:00
删除这句运行一次是可以了,下次运行就提示错误了;我也试了另种方式的自定义排序代码,也是运行正常,保 ...

那你把Application.DeleteCustomList注释掉。
然后在Application.AddCustomList前面加一行On Error Resume Next,防止重复自定义相同的序列报错
这样就可以正常运行,且不会报错了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-30 23:23 , Processed in 0.221586 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表