Board logo

標題: 排序語法(錄製巨集)是否可以簡化 [打印本頁]

作者: jsc0518    時間: 2019-5-21 06:34     標題: 排序語法(錄製巨集)是否可以簡化

Hi 大家好,

錄製巨集動作說明如下:
1.先於G4-->點選篩選
2.於G4-->從 A 到 Z 排序
3.於C4-->從 A 到 Z 排序
4.取消篩選功能




巨集語法如下:

Sub 排序1()

    Range("G4").Select
    Selection.AutoFilter
    ActiveWorkbook.Worksheets("舊版採購入庫單").AutoFilter.Sort.SortFields.Add2 Key:= _
        Range("G4"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("舊版採購入庫單").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("C4").Select
    ActiveWorkbook.Worksheets("舊版採購入庫單").AutoFilter.Sort.SortFields.Add2 Key:= _
        Range("C4"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("舊版採購入庫單").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Selection.AutoFilter
   
End Sub
作者: zheng211016    時間: 2019-5-21 23:51

發問記得附上檔案 不然做錯你要的結果 豈不是多白費功夫
還有 你篩選 沒說要不要留標題
作者: jsc0518    時間: 2019-5-22 17:58

回復 2# zheng211016

Hi 抱歉未附上檔案
我的標題是要留著的,我本身是用2019錄製巨集,但此檔案拿至2016版本時,巨集執行時會有誤的
可以簡化語法嗎?並且讓語法是可以通用於excel每個版本

感恩!

[attach]30652[/attach]
作者: zheng211016    時間: 2019-5-23 20:43

試用看看 如果你需要的只是排序功能不必要用篩選~
另外我做了一個匯入原始資料的按鈕 是我在測試的時候方便使用的
[attach]30655[/attach]
[attach]30656[/attach]
作者: jsc0518    時間: 2019-5-24 14:15

回復 4# zheng211016
Hi 感謝您的回覆
我點選"匯入原始資料按鈕" OK
但點選"排序"按鈕時出現異常
畫面如下圖


    [attach]30660[/attach]
作者: zheng211016    時間: 2019-5-24 20:27

回復 5# jsc0518
好了 再用看看
[attach]30662[/attach]
作者: jsc0518    時間: 2019-5-25 08:38

回復 6# zheng211016

OK我用看看,有問題再與您請教。謝謝!
作者: Scott090    時間: 2019-5-25 21:54

本帖最後由 Scott090 於 2019-5-25 21:57 編輯

回復 7# jsc0518

       再簡化如下,不知是否能用於其他版本。
       Sheets("舊版採購入庫單").select
      Range([C4], [H46]).Sort key1:=[C4], order1:=xlAscending, _
                                                  key2:=[G4], order2:=xlAscending, _
                                                  Header:=xlYes
作者: jsc0518    時間: 2019-5-26 06:28

回復 8# Scott090
Dear Scott090,
早安,非常感謝您的簡化VBA語法,TEST Excel 2019 & 2016  OK
非常謝謝您! ^_^




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)