繁体   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