
再來以xlPinYin為屬性值排序,結果「台中(ㄓ)」排在「台北(ㄅ)」之前:

如果此時點選「資料」頁次的「排序」,在「排序」交談窗按下「選項」,會看到是「依筆畫排序」,而實際上排序結果的確是依據筆畫順序:

若回頭去看之前用xlStroke為屬性值排序的結果,顯然是依據注音符號排序,所以似乎這兩個常數在VBA中弄反了。
再進一步印證,如果用錄製巨集的方式,採用注音方式排序,錄製下來的巨集如下圖:
可以看到實際採用的是xlStroke常數,這樣看來,我的猜測應該是正確的。
PS:這目前在2007與2010中都測試過,都是同樣的結果。在網路上搜尋的結果,似乎在Office XP中的Excel 2002就會出現錄製結果常數值相反的問題,不過已經在Office SP3修正了。不曉得現在這個問題以後是否會修正?