返回列表 上一主題 發帖

[發問] 跨工作表排序問題

[發問] 跨工作表排序問題

想請教一下大師們~
以下是我用錄製巨集的方式,想要固定排序每個活頁"C6:AI14"資料,但總共有31個活頁,卻不能跨活頁同時排序
所以我必須要每個活頁做相同排序動作,以下只有錄製到第4個活頁...........
請問有簡化的寫法嗎?真的非常感謝ㄛ∼∼∼∼∼∼∼∼∼


Sub 巨集1()
    Sheets("1").Select
    Range("C6:AI14").Select
    ActiveWorkbook.Worksheets("1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("1").Sort.SortFields.Add Key:=Range("D6:D14"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("1").Sort
        .SetRange Range("C6:AI14")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Sheets("2").Select
    Range("C6:AI14").Select
    ActiveWorkbook.Worksheets("2").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("2").Sort.SortFields.Add Key:=Range("D6:D14"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("2").Sort
        .SetRange Range("C6:AI14")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Sheets("3").Select
    Range("C6:AI14").Select
    ActiveWorkbook.Worksheets("3").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("3").Sort.SortFields.Add Key:=Range("D6:D14"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("3").Sort
        .SetRange Range("C6:AI14")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Sheets("4").Select
    Range("C6:AI14").Select
    ActiveWorkbook.Worksheets("4").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("4").Sort.SortFields.Add Key:=Range("D6:D14"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("4").Sort
        .SetRange Range("C6:AI14")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

回復 1# msmplay
  1. Sub Test()
  2.     Dim i As Integer
  3.     For i = 1 To 31
  4.         With Sheets(CStr(i))
  5.             .Sort.SortFields.Clear
  6.             .Sort.SortFields.Add key:=.Range("D6"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
  7.             With .Sort
  8.                 .SetRange Range("C6:AI14")
  9.                 .Header = xlGuess
  10.                 .MatchCase = False
  11.                 .Orientation = xlTopToBottom
  12.                 .SortMethod = xlPinYin
  13.                 .Apply
  14.             End With
  15.         End With
  16.     Next
  17. End Sub
複製代碼
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

回復 2# stillfish00

S大~~~~~~~超級感謝!!

TOP

        靜思自在 : 難行能行,難捨能捨,難為能為,才能昇華自我的人格。
返回列表 上一主題