当我使用此API:Range.AutoFilter时,它可以过滤整个工作表。即使我没有指定标题,Excel也可以猜测我的标题行。我的问题是:如何实现它?我无法弄清楚猜测标题行的规则。
答案 0 :(得分:0)
我昨天自己解决了。这是主要规则:
如果您没有指定要过滤的范围,Excel会找出哪一行 是具有值的单元格的第一行。我们可以将其标记为row1。
识别整行中是否有空单元格。 (EXCEL 将剪切一个名为UsedRange的数据范围,表示范围 存在一个真正的价值。该列首先从UsedRange开始 行,最后一列是UsedRange的最后一列,你可以 使用API检查usedRange:sheet.UsedRange.select)。
如果row1中有空白单元格,则比较row2和row3,找出答案 无论他们怎样 具有相同的单元格格式。如果没有,标题行是row2,否则, 标题行是row1。
如果第1行中没有任何空白单元格, 比较row1和row2之间的单元格格式。这里是 伪代码:
打字英语太难了,编写代码更容易....
if (Row1's cell format == Row2's cell format)
{
if (row2's cell format == row3's cell format)
header_row = row1;
else
header_row = row2;
}
else
{
header_row = row1;
}