標題:
Sorting程式碼不能執行
[打印本頁]
作者:
stevenliu555
時間:
2013-12-22 21:40
標題:
Sorting程式碼不能執行
您好:
有關sorting,想請教如下程序,為什麼不能執行?左看右看就是看不出有誤?請前輩指導解惑。檔案如附。
Sub SortData()
Range("A1").Sort Key1:=Cells(1, 4), Order1:=xlAscending, Key2:=Cells(1, 6), Order2:=xlAscending, Header:=xlYes
End Sub
stevenliu[attach]17096[/attach]
作者:
owen06
時間:
2013-12-23 09:23
回復
1#
stevenliu555
我在執行上沒有任何問題耶,你是不是因為執行過一次,排序完成後,再按就沒有反應,以為不行了?
你可以再新增一個遞減排序的,就可以確定是不是一切正常了。
Order
X
:=xlAscending---遞增排序
Order
X
:=xldescending--遞減排序
作者:
c_c_lai
時間:
2013-12-23 09:59
回復
2#
owen06
[attach]17097[/attach]
作者:
owen06
時間:
2013-12-23 12:37
回復
3#
c_c_lai
這就怪了,我在2003上執行這個檔案是正常的,會先按照性別遞增排序, 然後再將同性別下的年齡遞增排序。
作者:
c_c_lai
時間:
2013-12-23 13:28
回復
4#
owen06
這種相容性問題是非常令人困擾的,有些在2003能執行的未必相容於 2007、2010。
作者:
stevenliu555
時間:
2013-12-23 15:42
我的EXCEL是2007,執行結果與c_c_lai一樣,如果要用於EXCEL2007,請問該如何更改?謝謝。
作者:
owen06
時間:
2013-12-23 15:56
回復
6#
stevenliu555
你可以先直接用錄製的功能讓他幫你寫好內容,然後再自己去把多餘的累贅刪掉,這樣比較不會有相容性的問題。
作者:
GBKEE
時間:
2013-12-23 16:42
回復
6#
stevenliu555
試試看,是否可行(我沒有2007)
Sub SortData()
Range("A1").Sort Key1:=Range("D1"), Order1:=xlAscending, Key2:=Range("F1"), Order2:=xlAscending, Header:=xlYes
End Sub
複製代碼
作者:
c_c_lai
時間:
2013-12-23 17:05
回復
8#
GBKEE
Same Error as shown on 3#.
作者:
owen06
時間:
2013-12-23 23:40
回復
6#
stevenliu555
我剛用2007錄製出來,再一個一個慢慢刪,最精簡似乎就一定要這樣了,再簡下去就不能執行了,還挺麻煩的@@
Sub sortdata()
Sheets("會員名冊").Sort.SortFields.Clear
Sheets("會員名冊").Sort.SortFields.Add Key:=Range("D2"), Order:=xlAscending '先以D2遞增排序
Sheets("會員名冊").Sort.SortFields.Add Key:=Range("F2"), Order:=xlAscending '再以F2遞增排序
With Sheets("會員名冊").Sort
.SetRange Range("A1:J31")
.Header = xlYes
.Apply
End With
End Sub
複製代碼
作者:
c_c_lai
時間:
2013-12-24 08:22
回復
6#
stevenliu555
回復
10#
owen06
的確在 2003 與 2007、2010 上表達是有些微的差異性,
多謝 owen06 大大的用心!
Sub Ex()
With Sheets("會員名冊").Sort
.SortFields.Clear
.SetRange Range("A1:J31")
.SortFields.Add Key:=Range("D2"), Order:=xlAscending '先以D2遞增排序
.SortFields.Add Key:=Range("F2"), Order:=xlAscending '先以F2遞增排序
.Header = xlYes
.Apply
End With
End Sub
複製代碼
作者:
stevenliu555
時間:
2013-12-24 21:00
感謝10#, 11#的教導,真的可以耶。
但是,我還是有點質疑,為什麼EXCEL 2007、2010程式碼會變得複雜,反而難用,不解。
作者:
owen06
時間:
2013-12-24 22:28
回復
12#
stevenliu555
可能是對於一般使用者來說,在滑鼠操作的介面功能變的超強大,超簡便,
但是相對的,程式語言也就變的更複雜了。猜的啦…
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)