以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]Excel表中多层表头自动筛选代码不完美 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123625) |
-- 作者:shenyl0211 -- 发布时间:2018/8/19 18:00:00 -- [求助]Excel表中多层表头自动筛选代码不完美 Excel表中多层表头筛选: 如果手工选择表头的最后一行再点筛选按钮,肯定是正常的。 但如果用下列代码,则只要存在单层表头就只会选择第一层筛选,而不可能是最后一层:
Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(filename) Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) Ws.Select \'在选定单元格之前,必须先选定工作表 Ws.Range("A2:H2").Select \'或Ws.Rows("2:2").Select ws.Range("F2").Activate \'F2是第一个双层表头 app.Selection.AutoFilter 请问高手:有办法解决吗? |
-- 作者:有点蓝 -- 发布时间:2018/8/19 20:05:00 -- 测试没有问题: Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\问题\\123.xls") Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) Ws.Select \'在选定单元格之前,必须先选定工作表 Ws.Range("A2:H2").Select \'或Ws.Rows("2:2").Select ws.Range("A2").Activate \'F2是第一个双层表头 app.Selection.AutoFilter Wb.save app.quit |
-- 作者:shenyl0211 -- 发布时间:2018/8/20 9:11:00 -- 蓝版: 如果列名均为双层:第一列_1、第一列_2、第二列_1、第三列_1,肯定没问题; 但如果把第二列_1改成单层第二列,然后合并单元格(见下图,C1和C2单元格合并),就有问题了。
|
-- 作者:有点蓝 -- 发布时间:2018/8/20 9:30:00 -- 这个没有办法。存在合并单元格的情况下,使用代码选择会默认选中合并单元格所在的所有行。 |