VBA在出错时没有退出功能

时间:2012-09-28 12:03:00

标签: excel-vba error-handling excel-2007 vba excel

使用下面的代码,我试图推断存在已定义值的列右侧的列字母。例如,如果D1 ='Postcode',我希望insert_col等于'E'。

如果title_range中存在值'Postcoade',则此方法有效,但如果不存在,则会在最后一行出现错误(类型不匹配)。

根据Match的文档,如果reange中不存在查找值,则返回Excel错误“N / A”,但检查xlErrNA以退出该函数不起作用。

' Work out the column to insert
insert_col_pos = Application.Match("Postcode", title_range, 0)
If insert_col_pos = xlErrNA Then Exit Function ' Exit if the column to insert next to does not exist
insert_col = GetInsertCol(insert_col_pos + 1)

有没有人知道我做错了什么?感谢。

1 个答案:

答案 0 :(得分:2)

你想要的是

If insert_col_pos = CVErr(xlErrNA) Then Exit Sub   

前提是insert_col_pos DimVariant