如何简化VBA中多变量与同一字符串的多条件AND比较?
多条件AND比较的简洁写法(VBA)
针对你需要判断多个变量是否均等于"Not identified"的场景,有几种更简洁的实现方式:
方案一:用CountIf数组统计(推荐)
直接通过工作表函数统计符合条件的变量数量,等于总变量数即说明全部满足:
If WorksheetFunction.CountIf(Array(a, b, c, d, e, f, g), "Not identified") = 7 Then
注:原代码里重复写了c = "Not identified",注意修正这个笔误,确保数组里的变量是a到g共7个
方案二:优化你提到的TextJoin写法
如果想用你尝试的TextJoin思路,需要确保Rept的重复次数和变量数量一致,同时注意如果变量可能为空值,TextJoin的第二个参数设为True会忽略空值,可能导致判断错误,所以可以改成:
If WorksheetFunction.TextJoin("", False, a, b, c, d, e, f, g) = WorksheetFunction.Rept("Not identified", 7) Then
内容的提问来源于stack exchange,提问作者Dominik Dusza
相关产品推荐
相关产品推荐

