2016-01-22 97 views
0

無論我做什麼,此行代碼在Excel 2013中都不起作用。 wsCheck僅僅是引用一個工作表:工作表參考不適用於Excel 2013

wsCheck.Range("XEK2:XEK" & SG2Count).Sort Key1:=wsCheck.Columns("XEK"), Order1:=xlAscending, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, Header:=xlYes 

這在2010年的Excel完美運行,這是在我的很多宏,現在它根本無法與另外的工作:

SortMethod:=xlPinYin, Header:=xlYes 

,如果沒有添加簡單地排序在頭上。我似乎無法在任何地方找到解決方案。我希望能夠得到一個很好的解釋,說明爲什麼這種方法在2010年和2013年之間不起作用,需要添加什麼以使其發揮作用。

回答

0

Excel 2013正在按照您的要求進行分類並對您指定的範圍進行排序,而Excel 2010似乎自動將範圍擴展到相鄰單元格(目前我無權訪問Excel 2010)。

您可以強制Excel使用CurrentRegion財產作爲擴大範圍:

wsCheck.Range("XEK2:XEK" & SG2Count).CurrentRegion.Sort Key1:=wsCheck.Columns("XEK"), Order1:=xlAscending, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, Header:=xlYes