Board logo

標題: 請問VBA高手大大~要如何改寫才會更簡單易懂呢? [打印本頁]

作者: alltest    時間: 2013-1-15 10:32     標題: 請問VBA高手大大~要如何改寫才會更簡單易懂呢?

請問VBA高手大大~
以下是針對工作表(主要)B欄位及(次要)C欄位排序遞增
所錄製的巨集,看的眼花撩亂~~~
要如何改寫才會更簡單易懂呢?


Sub Macro1()
'
' Macro1 Macro
' user 在 2013/1/15 錄製的巨集
''
    Range("A3").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Sort Key1:=Range("B3"), Order1:=xlAscending, Key2:=Range("C3") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:= _
        xlSortNormal, DataOption2:=xlSortNormal
    Range("H3").Select
End Sub
作者: alltest    時間: 2013-1-15 10:45

回復 1# alltest


    sorry~忘了附上圖片

[attach]13939[/attach]
作者: mark15jill    時間: 2013-1-15 13:27

回復 2# alltest


    你的MS Office 是2003 還是2007
印象中 MS Office 沒XP..
作者: Hsieh    時間: 2013-1-15 14:08

回復 2# alltest
這樣的程式碼其實是最容易了解的
錄製的代碼是將你所做的動作一一轉譯成VBA程式碼
至於你覺得眼花撩亂是因為Sort方法本來就有這麼多參數
原本可以寫成一行的程式碼,但因為考慮閱讀版面所以會以空格+下標線作為分行處理
你要學VBA就要從各個參數說明去了解每個參數的作用
這些參數是你在排序對話方塊中的設定,試著錄製不同的設定動作
比較每次錄製的程式碼差異,有助於你對VBA與法的認識
作者: alltest    時間: 2013-1-15 16:39

謝謝Hsieh 超級版主大大的不吝指教~感恩^^
讓初學的我,有個更好的學習方向
希望有一天也能成為VBA高手
作者: alltest    時間: 2013-1-15 16:40

回復 3# mark15jill


    sorry~是 2003




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