我有2个excel工作表(XLpicsWB.Sheets(sMinMaxWs)和ws。),其中第一个工作表中的单元格值可能存在也可能不存在于第二个工作表中。我想设置一个检查条件,如果值(opcTagItem.Value)在第二个工作表中不存在。 “ If”语句引发异常错误,我不确定如何正确设置check属性:
Select Case AnnunciatorBlkSizeCount
Case 1
If XLpicsWB.Sheets(sMinMaxWS).Range("A:A").Find(opcTagItem.Value).Row.Equals(vbNull) Then
ws.Rows(iCurrentRow).Replace(What:=sOldAnnunciatorName, Replacement:=sBaseTagItemName, LookAt:=XlLookAt.xlPart,
SearchOrder:=XlSearchOrder.xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False)
iCurrentRow = iCurrentRow + 1
Exit Select ' Some tag names don't have Min/Max data
End If
答案 0 :(得分:0)
这可能是因为当.Row
无法匹配时Find
为NULL,因此抛出了NullReferenceException
。
对于Find
,请参考https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel.range.find?view=excel-pia,向我们显示This method returns Nothing if no match is found.
,因此您将需要删除.Row
或检查Find
是否匹配利用输出。