C# 如何复制AutoFilter()方法筛选的行
到目前为止,我一直在使用AutoFilter()方法,没有任何问题。但我无法标记或获取筛选行的范围,无法计数/复制/删除它们 我看过很多关于VBA的文章,但是没有一篇是关于C的 过滤后,我尝试通过以下任一行获取范围:C# 如何复制AutoFilter()方法筛选的行,c#,.net,excel-2003,C#,.net,Excel 2003,到目前为止,我一直在使用AutoFilter()方法,没有任何问题。但我无法标记或获取筛选行的范围,无法计数/复制/删除它们 我看过很多关于VBA的文章,但是没有一篇是关于C的 过滤后,我尝试通过以下任一行获取范围: range = ws.UsedRange.CurrentRegion.SpecialCells(Excel.XlCellType.xlCellTypeVisible, missing); range = ws.AutoFilter.Range.SpecialCells(Excel.
range = ws.UsedRange.CurrentRegion.SpecialCells(Excel.XlCellType.xlCellTypeVisible, missing);
range = ws.AutoFilter.Range.SpecialCells(Excel.XlCellType.xlCellTypeVisible, missing);
range = ws.Cells.SpecialCells(Excel.XlCellType.xlCellTypeVisible, missing);
我甚至尝试过其他我都不记得的方法
标记范围后,我尝试通过执行以下操作来计算行数:
range.Rows.Count
在每种情况下,我都得到了表格的总行数,有时得到65536行(Office2003),有时只有1行,但肯定不是我过滤的行数
我必须将它与office 2003和对象库11一起使用。好的。长眠之后。我获得了一些尝试更多方向的能力,这次没有从其他论坛和谷歌那里获得方向 试试这个:
- 对整个工作表的使用范围应用自动筛选
- 在范围上应用自动过滤器
- 现在,您需要获得过滤范围:
- 现在,您可以访问
integer来计算行数,并做一些有趣的事情filteredRange.Rows.Count
谢谢在自动筛选之后,我想在筛选的行中仅在“N”范围内命名一个术语“COGI”。如何写入以拾取该范围“N”并插入一个术语“COGI”删除行,只需
range.Delete(Microsoft.Office.Interop.Excel.XlDeleteShiftDirection.xlShiftUp)代码>作者正在询问复制行的答案。
range.AutoFilter(1, criteriaString , Excel.XlAutoFilterOperator.xlAnd, missing, true);
Excel.Range filteredRange = range.SpecialCells(Microsoft.Office.Interop.Excel.XlCellType.xlCellTypeVisible, missing);