0
目前有一個宏,其中有很多If語句通過每一行並測試某些條件。需要添加到每條if語句中的條件之一如下:如果c1(其中Dim'd作爲範圍)=「#N/A」)。問了幾個人後,我終於得到了正確的代碼行我的每個if語句之前添加爲另一條件是:使用IF語句和#N/A?
If CVErr(cl.Value) = CVErr(xlErrNA) And
不幸的是這樣下去搞亂當cl.Value是一件不「# N/A」。我想看看是否有一種方法可能從宏開始,比如Do While或者通過測試來啓動它,看看cl.Value是否爲「#N/A」,如果它是通過所有其他IF聲明,如果不去下一個單元格。請指教。謝謝你的幫助。
這裏只是一個簡單的例子/偷看4 If語句,我已經添加了上面這行測試「#N/A」,它會引發錯誤(說13:類型不匹配)。
For Each cl In range("A2", range("A" & Rows.count).End(xlUp))
If CVErr(cl.Value) = CVErr(xlErrNA) And _
cl.Offset(, 11).Value = "Bond Deals" And cl.Offset(, 2).Value Like "*CLO*" Then
cl.Value = "CLO"
End If
If CVErr(cl.Value) = CVErr(xlErrNA) And cl.Offset(, 11).Value = "Bond Deals" And cl.Offset(, 12).Value Like "BCC*" Then
c1.Value = "CLO"
End If
If CVErr(cl.Value) = CVErr(xlErrNA) And _
cl.Offset(, 11).Value = "Bond Deals" And cl.Offset(, 14).Value Like "*CLO*" Then
c1.Value = "CLO"
End If
If CVErr(cl.Value) = CVErr(xlErrNA) And _
cl.Offset(, 11).Value = "Bond Deals" And cl.Offset(, 15).Value Like "*CLO*" Then
c1.Value = "CLO"
End If
它可以這樣做'如果CVErr(cl.Value)= CVErr(xlErrNA)然後'但沒有顯着差異 –
嘿,感謝您的幫助,我試着在每個If語句前添加這個,並且在cl.Value不是「#N/A」時意識到它不會工作。我想看看是否有一種方法可能從宏開始例如Do While或者通過測試來檢查cl.Value是否爲「#N/A」並且是否通過所有其他IF語句並且如果不是轉到下一個單元格,請啓動它。 –
編輯OP來包含新問題 –