包含多重标题行的自动筛选
实际工作中通常会遇到有的数据表格包含了多重标题行,例如图所示,其中的上层标题 使用了合并单元格,如A4、A5、B5、C5、D5和F5单元格。而用户在筛选数据时往往需要以下层标题作为筛选的依据和标题行。要在此类数据表上启用筛选,操作步骤如下。
![89f27d7828f7af88e28622cf088204df.png](https://i-blog.csdnimg.cn/blog_migrate/1662b10f3ebb2dd3068dfcebf3245d1b.jpeg)
单击待设置筛选区域的行号选中第6行数据,在【数据】选项卡中单击【筛选】按钮即可按下层标题行启用筛选,如图所示。
![7a2005bcc58e02aee205904986b0e3f9.png](https://i-blog.csdnimg.cn/blog_migrate/660129408f2db66bc016792f669d0701.jpeg)
在受保护的工作表中使用筛选
在实际工作中,为了防止数据的内容被意外更改,常常需要对工作表设置保护(关于工作表的 保护可参阅:技巧14.1)。如果要在工作表设置保护的同时,对工作表中的数据使用筛选功能,以便进行一些数据分析工作,则需要进行一些设置才能完成。
从 Excel 开始,允许用户在工作表保护状态下可以进行相应的操作,其中包括了筛选。以如图所示的工作表为例,对工作表设置保护并进行筛选的设置方法如下。
![9582e502e778a29ced524c5fee1d9b11.png](https://i-blog.csdnimg.cn/blog_migrate/264ea5e9e1598ae3a821c9bab8d45519.jpeg)
选中数据区域中的任意一个单元格(如 A3),在【数据】选项卡中单击【筛选】按钮,使表格进入自动筛选状态,如图所示。
![e89a3821e4ec7834d768272a7c2e0925.png](https://i-blog.csdnimg.cn/blog_migrate/023ec40cd6fe689c3ba61f54fe2db860.jpeg)
在【审阅】选项卡中单击【保护工作表】按钮,打开【保护工作表】对话框,在对话框的【允许此工作表的所有用户进行】列表框中,勾选【使用自动筛选】的复选框,如有必要,可在【取消工作表保 护时使用的密码】文本框中输入保护工作表的密码,最后单击【确定】按钮完成设置,如图所示。
![a74476c4b022fd80ff7be1e4d960a22a.png](https://i-blog.csdnimg.cn/blog_migrate/978a2b90f93f335d92e85a7f4ac36fbd.jpeg)
现在,工作表处于受保护状态,不能对任何单元格进行修改,但仍然可以使用"自动筛选"功能,如图123-4所示。
![a8ff1cb4da569ff75e4a58e78d6e6d77.png](https://i-blog.csdnimg.cn/blog_migrate/0457c11d2fca1e9f6291dafabd29619c.jpeg)
此外,用户还可以借助宏代码在受保护的工作表中使用筛选,这种方法一般用来在Excel或更低版本中进行设置,因为,保护工作表功能没有提供与筛选相关的设置。假设需要进行自动筛选的数据保存在Sheet1工作表中,操作步骤如下。
选中数据区域中的任意一个单元格(如A3),在【数据】选项卡中单击【筛选】按钮,使表格进入自动筛选状态。
按<Alt+F11>组合键打开 VBA 编辑器窗口,按<Ctrl+R>组合键显示工程资源管理器窗口,双击窗口中的树形结构单元"ThisWorkbook",在右侧的代码窗口中输入以下VBA代码:
Private Sub Workbook_Open()
Worksheets("sheet1").Protect Password:="pwd", userInterFaceonly:=True
Worksheets("sheet1").EnableAutoFilter = True
End Sub
关闭VBA编辑器窗口,将工作簿另存为启用宏的工作簿并关闭文件。
当再次打开此工作簿文件时,工作表Sheet1将被保护,但是筛选功能仍然可用。用户可以根据自己的需要,修改上述代码中的工作表名称与保护密码(pwd)。