Этот вопрос является продолжением вопроса здесь, но он достаточно новый, чтобы занять свое место в эфире.
Мне нужно создать поле со списком фильтров на основе диапазона; тогда диапазон столбцов должен быть сортируемым спереди назад (по возрастанию/убыванию) и фильтруемым, выбирая, какие из них отображать/скрывать.
Из кода, предоставленного в этом предыдущем ответе MacroMarc, я думаю, что близок к тому, что мне нужно:
Range monthYearCells = _xlSheet.Range[_xlSheet.Cells[COLUMN_HEADING_ROW, MONTH1_COL], _xlSheet.Cells[COLUMN_HEADING_ROW, MONTH13_COL]];
object monthFilter = (object)monthYearCells.AutoFilter(1, System.Reflection.Missing.Value, XlAutoFilterOperator.xlAnd, System.Reflection.Missing.Value, true);
var monthFilterCell = (Range)_xlSheet.Cells[6, 3];
monthFilterCell.Value = monthFilter;
... где я хочу поместить поле со списком сортировки/фильтра в monthFilterCell. Однако добавление объекта monthFilter к свойству Value этой ячейки вызывает это исключение времени выполнения:
Итак, чему именно я назначаю monthFilter, если не Value, который является объектом (в отличие от Value2, который является строкой)?
Я близок или совсем упустил лодку?
Примечание. Я также пробовал этот код, также основанный на некоторых из MacroMarc:
Range monthYearCells = _xlSheet.Range[_xlSheet.Cells[COLUMN_HEADING_ROW, MONTH1_COL], _xlSheet.Cells[COLUMN_HEADING_ROW, MONTH13_COL]];
PivotField pf = monthYearCells.PivotField;
... но тоже не получается: