返回列表 上一主題 發帖

Sorting程式碼不能執行

Sorting程式碼不能執行

您好:

有關sorting,想請教如下程序,為什麼不能執行?左看右看就是看不出有誤?請前輩指導解惑。檔案如附。

Sub SortData()
    Range("A1").Sort Key1:=Cells(1, 4), Order1:=xlAscending, Key2:=Cells(1, 6), Order2:=xlAscending, Header:=xlYes
End Sub

stevenliu Sorting.rar (14.67 KB)
Engr<i>[12]<strong>

回復 1# stevenliu555

我在執行上沒有任何問題耶,你是不是因為執行過一次,排序完成後,再按就沒有反應,以為不行了?
你可以再新增一個遞減排序的,就可以確定是不是一切正常了。
OrderX:=xlAscending---遞增排序
OrderX:=xldescending--遞減排序

TOP

回復 2# owen06

TOP

回復 3# c_c_lai


這就怪了,我在2003上執行這個檔案是正常的,會先按照性別遞增排序, 然後再將同性別下的年齡遞增排序。

TOP

回復 4# owen06
這種相容性問題是非常令人困擾的,有些在2003能執行的未必相容於 2007、2010。

TOP

我的EXCEL是2007,執行結果與c_c_lai一樣,如果要用於EXCEL2007,請問該如何更改?謝謝。
Engr<i>[12]<strong>

TOP

回復 6# stevenliu555


你可以先直接用錄製的功能讓他幫你寫好內容,然後再自己去把多餘的累贅刪掉,這樣比較不會有相容性的問題。

TOP

回復 6# stevenliu555
試試看,是否可行(我沒有2007)
  1. Sub SortData()
  2.     Range("A1").Sort Key1:=Range("D1"), Order1:=xlAscending, Key2:=Range("F1"), Order2:=xlAscending, Header:=xlYes
  3. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 8# GBKEE
Same Error as shown on 3#.

TOP

回復 6# stevenliu555

我剛用2007錄製出來,再一個一個慢慢刪,最精簡似乎就一定要這樣了,再簡下去就不能執行了,還挺麻煩的@@
  1. Sub sortdata()
  2. Sheets("會員名冊").Sort.SortFields.Clear
  3. Sheets("會員名冊").Sort.SortFields.Add Key:=Range("D2"), Order:=xlAscending        '先以D2遞增排序
  4. Sheets("會員名冊").Sort.SortFields.Add Key:=Range("F2"), Order:=xlAscending         '再以F2遞增排序
  5.    With Sheets("會員名冊").Sort
  6.      .SetRange Range("A1:J31")
  7.      .Header = xlYes
  8.      .Apply
  9.     End With
  10. End Sub
複製代碼

TOP

        靜思自在 : 地上種了菜,就不易長草;心中有善,就不易生惡。
返回列表 上一主題