Я видел несколько постов по этому вопросу, но все они, похоже, используют один и тот же пример, поэтому я не уверен, как код будет отличаться от сценария к сценарию:
Вот что у меня есть:
$rng = $sheet.Cells.Item(1,7).EntireColumn #choose all columns from 1 to 7
$rng.select | Out-Null # select this range
$filterValue = @("TRUE") # create filter value, that is only choose when value matches "TRUE"
$xlFilterValues = 7 # "found in MS documentation", copied not sure what this does
$objExcel.Selection.AutoFilter(7,$filterValue, $xlFilterValues) # here the first parameter value of 7 is the column I am trying to filter on
$rowMax = ($sheet.FilteredRange.Rows).count
$colMax = ($sheet.FilteredRange.Columns).count
Хотя мой скрипт не падает или что-то еще, но похоже, что фильтр не работает.У меня есть около тысячи строк, где столбцы фильтрации имеют значения, установленные на «ИСТИНА», «ЛОЖЬ» или Пробел .
Мое ожидание:
будет выводить 7 для$ colMax и 40 (количество строк, где столбец 7 имеет значение «ИСТИНА») для $ rowMax.
Однако я получаю 0
для $rowMax
.