簡體   English   中英

我在添加此代碼時遇到問題

[英]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.

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