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