[英]I'm having trouble adding to this code
If vOverfly(arrayIndex, 10) <= 0 And vOverfly(arrayIndex, 7) = "CCYN" And Trim(vOverfly(arrayIndex, 3)) <> "--" Then
resultCounter = resultCounter + 1
我需要怎么做才能向該行代碼添加其他數據。 當前,該行復制數字<= 0並由CCYN標識的數據。 我需要知道其他參數是否低於0,例如“ EOTN”,“ EOTH”和“ CCYV”。 當我嘗試添加這些參數時,無論數量多少,它最終都會復制所有內容。 謝謝。
您需要在OR測試周圍使用方括號來表示CCYN,EOTN,EOTH等。
Sub Test()
If vOverfly(arrayIndex, 10) <= 0 And (vOverfly(arrayIndex, 7) = "CCYN" Or vOverfly(arrayIndex, 7) = "EOTN") And Trim(vOverfly(arrayIndex, 3)) <> "--" Then
resultCounter = resultCounter + 1
End Sub
And vOverfly(arrayIndex, 7) = "CCYN"
嘗試用以下代碼替換上面的代碼部分:
And IsNumeric (Application.match(vOverfly(arrayIndex, 7), _
Array("CCYN", "EOTN", "EOTH", "CCYV"), 0))
如果此代碼在循環內,則可以通過將值數組定義為僅匹配一次來使其更快:
Dim arValues
arValues = Array("CCYN", "EOTN", "EOTH", "CCYV")
...
If vOverfly(arrayIndex, 10) <= 0 And _
IsNumeric (Application.match(vOverfly(arrayIndex, 7), arValues, 0)) _
And Trim(vOverfly(arrayIndex, 3)) <> "--" Then
resultCounter = resultCounter + 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.