簡體   English   中英

Excel VBA公式是否等效?

[英]Excel VBA formula equivalent?

是否有一個IF(ISNA(D2:K2),“ Nothing found”,=“沒有#N / A的第一個單元格的值”的VBA等效項(請原諒我可憐的formuala,但我認為這很重要) ”

換句話說,遍歷D行到K行,當我發現第一個沒有錯誤的單元格時,請使用該單元格中的值。

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,它將突出顯示每行中的第一個非錯誤值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM