我想使用VBA對房間號碼列表進行排序。然而,一些房間的數字末尾有「A」或「B」來表示套房風格的生活。我想對房間列表進行排序,以便將具有A或B的列表排序到列表的末尾,因爲它們是較長的字符串。我嘗試了VBA中的排序功能,像這樣在VBA中排序不同的長度字符串所以最長的不是最後
StartRange.Sort Key1:=SortRange, Order1:xlAscending
其中StartRange和SortRange是其他地方定義的Range對象。函數正確排序的數據,但我得到的結果,如
411
418
422
432
415A
415B
428B
,而我希望他們來進行排序:
411
415A
415B
418
422
428B
432
我想過嘗試只排序客房爲文本計算前三個字符,然後根據最後一個字母對每個As和Bs塊進行排序,但這會因以下三件事而變得更復雜:
- 某些房間是四位數字(例如1195,1045,等等)。這些房間沒有與A或B有任何問題。
- 某些房間的前面是「W」或「E」,具體取決於它們位於建築物的西部還是東部。其中一些房間確實有A或B後綴,但它們按照我希望分類的方式正確排序(例如W134,W135A,W135B,W136等)。
- 並非所有房間都在Excel中的同一張紙上。我正在從幾個不同建築物的房間主表中進行工作,每張表格都是按建築物排序的。
單元格的格式既是「普通」格式,也是「文本」格式,並且都具有相同的結果。任何可以提供的幫助將非常感謝解決這個問題。先謝謝你!