这是我从好奇心问起,我有一个循环滚动列以匹配ID,现在经过一些迭代后,脚本因错误消息而关闭:“比赛未找到”突出显示正在搜索的列上的单元格
ParentMatchRowNum=objExcel1.Application.WorksheetFunction.Match(ParentID, ob3.Columns(1), 0)
,所以我在寻找一个任何种类的亮点色彩,以其目前的ID搜索,只是想指出这是不被剧本中的ID。突出显示将需要在当前通过搜索的ID上。
错误
感谢
这是我从好奇心问起,我有一个循环滚动列以匹配ID,现在经过一些迭代后,脚本因错误消息而关闭:“比赛未找到”突出显示正在搜索的列上的单元格
ParentMatchRowNum=objExcel1.Application.WorksheetFunction.Match(ParentID, ob3.Columns(1), 0)
,所以我在寻找一个任何种类的亮点色彩,以其目前的ID搜索,只是想指出这是不被剧本中的ID。突出显示将需要在当前通过搜索的ID上。
错误
感谢
尝试Application.Match
,而不是Application.WorksheetFunction.Match
。
If not IsError(objExcel1.Application.Match(ParentID, ob3.Columns(1), 0)) Then
ParentMatchRowNum = objExcel1.Application.Match(ParentID, ob3.Columns(1), 0)
Else
'-- do something
End if
这里是一个小的信息,一个MVP已经共享: Application.Match之差()与Application.WorkSheetFunction.Match()
不同之处在于它的错误处理。在XL97中,匹配的WorksheetFunction
表单出现问题,但没有与Application.Match
一起显示。 Myrna Larson报告说她在更高版本中遇到过这个问题。出于这个原因,一般认为 安全而不是遗憾,并使用Application.Match
。
: - Reference。
另外一件事是,只要知道在列中只有整数或混合数据类型时不应搜索字符串。保持一致。因此对于例如寻找integers within integers
或Strings within Strings
..这意味着你可能应该将你所有的alphanumeric
ID参考转换为CStr(ID)
。 (变体在运行时解释,所以它不能解决问题。)
你是我的**上帝**说实话!你是我的'救星':-)但是真的一旦我的脚本结束意味着所有的需求都将被转换为'CODE'然后,我将开始在脚本中的错误处理机构! –
我得到错误,'IsError'变量没有从该part.please帮助定义! –
@TukaiRakshit你可以发布错误吗? – bonCodigo
因此,如果在该列中找到ob3Columns(1),您想突出显示“parentid”的单元格吗?如果答案是肯定的,那是不合逻辑的....:$ coz,这意味着你必须突出显示整个列......为什么不在列中找到它的时候,将父类ID跟踪到“字典”中? – bonCodigo
@bonCodigo我不知道为什么会发生。因为匹配函数搜索的ID存在于该列中,所以我只是通过调试发现的。仍然为什么比赛投掷错误?对比赛功能有没有限制? –