Я хочу объединить строковый массив внутри автофильтра.
Я просто использовал макро-рекордер для этого кода.
Я пытаюсь получить то же самое из этого, и я не хочу перебирать все возможные условия.
ActiveSheet.Range("$A$8:$BH$331").AutoFilter Field:=4, Criteria1:=Array( _
"ISO 14001","ISO 45001", "ISO 9001", "OHSAS 18001", "QMET"), Operator:=xlFilterValues
Но мне нужно объединить каждый текст, если условие выполнено.
Dim strStandard(0 To 5) As String
strStandard(0) = "ISO 9001"
strStandard(1) = "ISO 14001"
strStandard(2) = "ISO 45001"
strStandard(3) = "QMET"
strStandard(4) = "OHSAS 18001"
strStandard(5) = "Combined (14K+18K)
If ISO9001.Value = True = True Then
ActiveSheet.Range("$A$8:$BH$331").AutoFilter Field:=4, Criteria1:=ISO9001.Value
End If
If ISO14001.Value = True = True Then
ActiveSheet.Range("$A$8:$BH$331").AutoFilter Field:=4, Criteria1:= _
"ISO 14001"
End If
strStandard будет множественным критерием для фильтра
Моя идея - проверять каждый флажок, если его значение равно true, если true, он получит строку из массива strStandard и передаст ее strFilterContainer для строкового массива, а затем один автофильтр
ActiveSheet.Range("$A$8:$BH$331").AutoFilter Field:=4, Criteria1:=strFilterContainer, Operator:=xlFilterValues
strStandard будет несколько критериев для фильтра
Есть ли способ объединить строковый массив внутри автофильтра?