Excel VBA公式等价物?
是否有一个VBA等价物(请原谅我可怜的福尔穆阿拉,但我认为它能说明问题)IF(ISNA(D2:K2),“找不到任何东西”=“第一个单元格的值中没有#N/a” 换言之,遍历D到K行,当我发现第一个单元格没有错误时,使用该单元格中的值Excel VBA公式等价物?,excel,vba,Excel,Vba,是否有一个VBA等价物(请原谅我可怜的福尔穆阿拉,但我认为它能说明问题)IF(ISNA(D2:K2),“找不到任何东西”=“第一个单元格的值中没有#N/a” 换言之,遍历D到K行,当我发现第一个单元格没有错误时,使用该单元格中的值 Sub ValueNotError Dim oRng1 As Range Dim oRNg2 As Range Dim oWs1 As Worksheet Dim oWs2 As Worksheet Dim X As Integer '
Sub ValueNotError
Dim oRng1 As Range
Dim oRNg2 As Range
Dim oWs1 As Worksheet
Dim oWs2 As Worksheet
Dim X As Integer
' Set initial cell
Set oWs1 = This Workbook.Worsheets("Master")
Set oRng2 = oWs2.Range ("D2")
Set oRng1 = oWs2.Range ("C2")
Do Until IsEmpty(oRng1) ' Look until column D has no value?
If IsError(oRng1.Offset(0,1).Value Then ' Look to see if cell is error
For X = 10 to 1 Step -1 ' Work from K descending
If Not IsError (oRng1.Offset(0,X).Value Then
oRng2.Value = oRng1.Value ' set oRng1 to oRng2 value
oRng2 = oRng2.offset(1,0) ' move to next row
Exit For
End If
Next X
Else
Set oRng2 = oRng2.Offset(1,0) ' Move to next row
Loop
End Sub
这必须是VBA吗?这里有一个仅用于公式的解决方案,可以实现您所寻找的目标:
=IFERROR(INDEX(D2:K2,MATCH(FALSE,INDEX(ISERROR(D2:K2),),0)),"Nothing found")
您也可以使用条件格式来简单地突出显示在区域中找到的第一个非错误单元格。选中单元格D2:K2后,使用以下条件格式公式:
=AND(COLUMN(D2)-3=MATCH(FALSE,ISERROR($D2:$K2),0),NOT(ISERROR(D2)))
请注意,您可以将条件格式公式应用于包含多行的范围,例如D2:K12,它将突出显示每行中的第一个非错误值。使用
。查找,然后您可以使用nothing
的返回来查看它是否存在。这很好,谢谢!最后一部分是一个单独的问题,因此我将回答不是吗