[新手] 簡單sorting 問題

希望大家幫幫手,小弟自學vba中,有以下問題

有以下value
A+01a
A+02a
A+03a
A-01a
A-01b
A-02b


我希望可以排成以下的情況
A+01a
A-01a
A-01b
A+02a
A-02a
A+03a


由於暫時無頭緒,希望大家指點一下

希望大家幫幫手,小弟自學vba中,有以下問題

有以下value


我希望可以排成以下的情況


由於暫時無頭緒,希 ...
pochi 發表於 2018-9-18 15:22


sorting algorithm 有得抄, 但係 compare function 今次你無得抄.

如果你諗好一個清淅o既 compare method , 你就會識得
寫一個自己o既 compare function . 或者 map 做另一個 value 嚟方便做 compare

所以而家o既問題係你未諗好 compare 或者你未識寫自己o既 compare function.

TOP

「A+01a」係 Text string?

分開三個 Column:「A」、「+」、「01a」,Sort 完再串返埋。

TOP

group左數字 之後裏面Group後面英文再sort 然後裏面group"+-"再sort

TOP

偷雞既可以將 +/- 移到去最後, 之後就掉入去 sort function (如適用)
sort 完, 再 swap 返去原位

TOP

變晒做ascii code 再sort

TOP

偷雞既可以將 +/- 移到去最後, 之後就掉入去 sort function (如適用)
sort 完, 再 swap 返去原位 ...
rabbit82047 發表於 2018-9-19 14:02

睇完呢個答案, 有啲靈感。( 說穿了其實係照抄改少少)……

先先說清楚個邏輯: 其實係頭四個字母 需要當係一舊嘢,去 同其他行比較, i.e. "A01+" < "A01-" < "A02+" < "B01+"

因此可以先將 加減符號 由第二個位調去第四個位,然後sort, 最後還原返。

TOP

本帖最後由 高原熊 於 2018-9-23 18:26 編輯

如果固定第二個字係+-,replace佢為大階A同細階a,sort定後substring返佢做+-得唔得。

Edit :哦!係唔得。。。臭左。

TOP