如果没有返回值,是否可以终止IIf()
语句?
这是我的代码的样子:
Do While Sheets("testsheet").Cells(1, Z) <> ""
text1 = Sheets("testsheet").Cells(1, Z).Value
vLook = Application.HLookup(text1, lookupRange, u, False)
Sheets("Kilepok").Cells(i, Z).Value = IIf(IsError(vLook), ????, vLook)
Z = Z + 1
Loop
代码贯穿标头(z),并寻找一个值。如果它找到一个值,我想在这种情况下粘贴它(当vlook中没有错误时)。在其他情况下,我不想修改当前单元格的值。
答案 0 :(得分:1)
要么
Sheets("Kilepok").Cells(i, Z).Value = IIf(IsError(vLook), Sheets("Kilepok").Cells(i, Z).Value, vLook)
或
If Not IsError(vLook) Then Sheets("Kilepok").Cells(i, Z).Value = vLook
会做。
但是请注意,第一个将重写单元格的值(这会使它变慢),如果其中包含论坛,则会将其转换为值。因此,第二个将是首选解决方案。