如何使用数组而不是在中使用And

时间:2018-12-12 09:07:34

标签: vba

因为我有4-5个条件,所以数组中是否可以使用任何条件和条件。 那么有没有其他选择或必须像下面那样做?

For Each c In rng
If c.Value <> "A" And c.Value <> "B" And c.Value <> "C" Then
 dic(c.Value) = c.Value
End If
Next c

谢谢

2 个答案:

答案 0 :(得分:0)

您的问题需要更多背景信息,这很难提供一个很好的答案。我能想到的是:

  • 您也可以使用Switch来做到这一点,但是您仍然可以应用与if中相同的逻辑。

  • 您可以将filter应用于您的范围,这样就不会同时包含A,B,C,并且可以避免在循环内使用If

  • 如果您想使其“更短”但可读性较低(出于我不建议这样做的原因),您可以将c转换为ASCII,然后知道AC是连续的,您可以看看是否值不在对应于AC的值之间。我想,如果您有更多的案件(并且仍然是连续的字母)可以是不错的。

答案 1 :(得分:0)

当然可以,但是可能更简洁/方便:如果$(function() { const $symbol = $('#symbol icon-error'); const $myPopup = $('#myPopup'); const $myPopup3 = $('#myPopup3'); const $myPopup4 = $('#myPopup4'); const $saveBtn = $('#save_button'); $('body').on("change keyup mousemove", function(event) { var isValid; $('.QtytobePacked').each(function() { isValid = $(this).val() !== ''; $symbol.toggle(isValid); $myPopup.toggle(!isValid); $myPopup3.toggle(!isValid); $myPopup4.toggle(!isValid); $saveBtn.prop('disabled', !isValid).toggleClass('upload_button_active upload_button_inactive'); }); }) }); 的元素是A,B和C,则可以使用与此伪代码类似的代码:

array

但是,如果您有很多标准,那就更好了。当然可以例如对其进行优化。如果您检查相反的条件,并且确实如此,则退出循环-您可以发现不同的机会。