這是我從好奇心問起,我有一個循環滾動列以匹配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存在於該列中,所以我只是通過調試發現的。仍然爲什麼比賽投擲錯誤?對比賽功能有沒有限制? –