如何设置打开工作簿时对两列进行自动排序?

如何设置打开工作簿时对两列进行自动排序?

我有一本用于每周报告的工作簿,但我们每天也会添加新记录。

现在,我想知道每次打开工作簿时如何设置对两个特定列进行自动排序。

以下是我想要使用的列:

  • 当前工作年份结束时间从旧到新(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

怎么运行的:

  1. 按下Alt+F11打开 VB 编辑器。
  2. 在左上角Project Explorer windows找到ThisWorkbook
  3. Double click然后是Copy & Paste本代码。
  4. Save&Close工作簿。

笔记:

现在,每次打开工作簿时,Excel 都会运行此代码对指定列上的数据进行排序。

相关内容