自動排序 Microsoft Excel 工作表

自動排序 Microsoft Excel 工作表

我是否可以將 Excel 配置為(可能使用腳本)在每次更新條目時自動重新使用表格?

答案1

快速谷歌給了我:

http://www.techsupportforum.com/microsoft-support/microsoft-office-support/252123-can-someone-help-me-auto-sort-excel.html#post1499027

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not (Application.Intersect(Worksheets(1).Range("E9:F32"), Target) Is Nothing) Then
        DoSort
    End If
End Sub

Private Sub DoSort()
    Worksheets(3).Range("E3:M7").Sort Key1:=Worksheets(3).Range("M3"), Order1:=xlDescending, _
        Key2:=Worksheets(3).Range("L3"), Order2:=xlDescending, Header:=xlYes
    Worksheets(3).Range("E10:M14").Sort Key1:=Worksheets(3).Range("M10"), Order1:=xlDescending, _
        Key2:=Worksheets(3).Range("L10"), Order2:=xlDescending, Header:=xlYes
    Worksheets(3).Range("E17:M21").Sort Key1:=Worksheets(3).Range("M17"), Order1:=xlDescending, _
        Key2:=Worksheets(3).Range("L17"), Order2:=xlDescending, Header:=xlYes
    Worksheets(3).Range("E24:M28").Sort Key1:=Worksheets(3).Range("M24"), Order1:=xlDescending, _
        Key2:=Worksheets(3).Range("L24"), Order2:=xlDescending, Header:=xlYes
End Sub

我對 VBA 不太了解,但我會嘗試解釋如何自訂它,如果我失敗了,請告訴我。 ;)

使用第一個子定義函數何時被觸發。上面的行表示,當工作表 1 上的儲存格 E9 到 F32 中的任何內容發生變更時,啟動 DoSort。

DoSort 會對某些範圍進行排序,也可以適應您自己的資料範圍。只需刪除不需要的行並更改工作表編號和資料範圍即可。

相關內容