ddCustomList 方法 为自定义自动填充和/或自定义排序添加自定义列表。 ListArray 必选 ,将源数据指定为字符串数组或 Range 对象。 ByRow 可选,仅当 ListArray 为 Range 对象时使用。 如果为 True,则使用区域中的每一行创建自定义列表; 如果为 False,则使用区域中的每一列创建自定义列表。 如果省略该参数,并且区域中的行数比列数多(或者行数与列数相等),则使用每一列创建。 如果省略该参数,并且区域中的列数比行数多,则使用每一行创建。 说明:如果要添加的列表已经存在,则本方法不起作用,并且会产生运行错误。 如果在实际中是使用Range做为ListArray参数,最好明确指明Byrow。 在技巧中自行添加自定义序列时,多区域(多行多列情况)下,当点击导入时会有行列选择对话框(如下图)。 Dim i As Byte On Error GoTo ErrorHandler '为避免重复运行导致的错误,这里做了错误处理。 '当产生错误时,直接跳转到Errorhandler处继续执行 '这样就不会产生一个错误对话框 '当然,这个在某些设置下还是会有错误提示对话框的 '工具-选项-通用-错误捕获 '建议选择 遇到未处理的错误时中断 Application.ScreenUpdating = False For i = 1 To 26 Cells(i, 1).Value = Chr(i + 64) Next Application.AddCustomListRange('a1:a26'), byrow:=False Application.ScreenUpdating = True MsgBox '字母自定义序列添加完成',vbInformation Exit Sub ErrorHandler: MsgBox '自定义序列已经存在'
返回一个自定义序列(一个字符串数组)。 语法:GetCustomListContents(ListNum) ListNum 必选 Long 列表数字。 示例: Dim i As Byte,arr For i = 1 To Application.CustomListCount arr = Application.GetCustomListContents(i) '返回的是一维数组 Debug.Print '自定义序列 ' & i & vbCr & Join(arr, ',') 'MsgBox '自定义序列 ' & i& vbCr & Join(arr, ',') '数组转化为字符串 Next
返回字符串数组的自定义序列号。 使用本方法既可对内置序列进行匹配,也可对自定义序列进行匹配。 语法:GetCustomListNum(ListArray) ListArray 必选 Variant 字符串数组。 返回值:Long 说明:如果没有对应序列,则使用本方法将出错。 示例: Dim arr(1 To 26) As String '声明一个字符串数组变量 Dim i As Byte For i = 1 To 26 arr(i) = Chr(64 + i) 'chr函数根据指定的字符代码生成对应的字符 Next On Error Resume Next '当一个运行时错误发生时,代码继续往下接着执行。 i = Application.GetCustomListNum(arr) If Err.Number <> 0 Then '当产生错误时,Err对象的Number不等于0 MsgBox '指定的自定义序列不存在' Else MsgBox '指定的自定义序列编号为:' & i End If DeleteCustomList 方法 删除一个自定义序列。 ListNum 必选,Long 自定义序列数字。 此数字必须大于或等于 11(Excel 2010中有11个内置的自定义序列无法删除)。 说明:如果列表数字小于11 或者没有匹配的自定义序列,则使用本方法将产生错误。 这里的自定义序列号可以利用上面的GetCustomListNum方法获取 示例1: 沿用GetCustomListNum示例,添加2行稍微改动即可。 Dim arr(1 To 26) As String '声明一个字符串数组变量 Dim i As Byte For i = 1 To 26 arr(i) = Chr(64 + i) 'chr函数根据指定的字符代码生成对应的字符 Next On Error Resume Next '当一个运行时错误发生时,代码继续往下接着执行。 i = Application.GetCustomListNum(arr) If Err.Number <> 0 Then '当产生错误时,Err对象的Number不等于0 MsgBox '指定的自定义序列不存在' Exit Sub End If Application.DeleteCustomList (i) MsgBox '删除完成' |
|
来自: fzchenwl > 《excel精英培训》