For Each c In rng
For each element in array
If c.value <> array(element) Then count = count + 1 'how many times it is true
End If
Next element
If count = NumberOfElementsOf(array) Then do your stuff with c
Next c
但是,如果您有很多标准,可能会更好。当然可以优化 e.g. 如果您检查相反的条件,并且确实如此,则退出循环-您可以发现不同的机会。
2 回答
您的问题需要更多的上下文,这很难提供一个好的答案。我所能想到的是:
您也可以使用
Switch
来做到这一点,但是您仍然可以应用与if
相同的逻辑。您可以将
filter
应用于您的范围,这样既不包含 A,B,C,又可以避免在循环内使用If
。如果您想使其更短但更易读(出于我不建议这样做的原因),则可以将 c 转换为 ASCII,然后知道 A-C 是连续的,您可以看看该值是否不在该值之间。对应于 A-C。我猜如果您有更多的案件(并且仍然是连续的信件)可能还不错。
当然可以,但可能不是更多的 cleaner/easier:如果
array
的元素是 A,B 和 C,则可以使用与此 pseudo-code 类似的代码:但是,如果您有很多标准,可能会更好。当然可以优化 e.g. 如果您检查相反的条件,并且确实如此,则退出循环-您可以发现不同的机会。