我有一本用于每周报告的工作簿,但我们每天也会添加新记录。
现在,我想知道每次打开工作簿时如何设置对两个特定列进行自动排序。
以下是我想要使用的列:
当前工作年份结束时间从旧到新(D 列,数据从第 6 行开始)。
工作状态从 Z 到 A(J 列,数据从第 6 行开始)。
答案1
要在打开工作簿时对所需列设置自动排序,您需要此宏(VBA)。
Private Sub Worksheet_Open()
Columns("D:D").Select
Selection.Sort Key1:=Range("D6"), Order1:=xlDescending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Columns("J:J").Select
Selection.Sort Key2:=Range("J6"), Order1:=xlDescending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
怎么运行的:
- 按下
Alt+F11
打开 VB 编辑器。 - 在左上角
Project Explorer windows
找到ThisWorkbook
。 Double click
然后是Copy & Paste
本代码。Save
&Close
工作簿。
笔记:
现在,每次打开工作簿时,Excel 都会运行此代码对指定列上的数据进行排序。