close
標題:

Excel 英文加數字順序vba

發問:

我有一組編號, 用vba來做順序, 結果變成如下A1A10A109A11A12A123A12AA12BA16A168A18A188A199A1BA2A22A26A27A506A511A518A522A526A535A556A558A566A58如果我想變成如下, 我的vba應該如何改?A1A1BA2A10A11A12A12AA12BA16A18A22A26A27A58A109A123A168A188A199A506A511A518A522A526A535A556A558A566Private Sub... 顯示更多 我有一組編號, 用vba來做順序, 結果變成如下 A1 A10 A109 A11 A12 A123 A12A A12B A16 A168 A18 A188 A199 A1B A2 A22 A26 A27 A506 A511 A518 A522 A526 A535 A556 A558 A566 A58 如果我想變成如下, 我的vba應該如何改? A1 A1B A2 A10 A11 A12 A12A A12B A16 A18 A22 A26 A27 A58 A109 A123 A168 A188 A199 A506 A511 A518 A522 A526 A535 A556 A558 A566 Private Sub CommandButton2_Click() Range("A5:D203").Sort _ Key1:=Range("A5") Range("A5").Select End Sub

最佳解答:

免費註冊體驗

 

此文章來自奇摩知識+如有不便請留言告知

1. First Press Alt + F11 > Insert Module > Copy and paste follow code Function ExtractNumber(txt As String) Dim i As Integer Dim Num As String For i = 1 To Len(txt) If Asc(Mid(txt, i, 1)) >= 48 And Asc(Mid(txt, i, 1)) <= 57 Then Num = Num & Mid(txt, i, 1) End If Next i ExtractNumber = Num End Function 2. Create Formula as follow: 圖片參考:http://f10.wretch.yimg.com/akpuser09/53/1992180412.jpg?6aGQixZDfR94YfHozN_rNB7CWBJ0JFFi6FI_cd1XjaKzWMeSpDX2Jj6NK6.IHg-- 2011-09-10 00:00:55 補充: 2. Break Down Data with follow formula ColumnFormula 1st Col=LEFT(A2,1) 2nd Col=VALUE(extractnumber(A2)) 3rd Col=RIGHT(A2,LEN(A2)-(LEN(C2)+1)) 2011-09-10 00:01:32 補充: 3. Data > Sort 2nd Col, then 3rd Col

其他解答:

如該組編號是人手輸入, 則應統一編號的結構, 特別是數字及之前部份, 必須一律長度 如該些編跑是從網頁或其他渠道而來, 那亦祇能夠面對現實, 想辨法處理 最佳方法如001所言, 要多插一欄作輔助, 編寫公式, 再排序 VBA用sort,是不會改變sort的排序常規而達到你的要求|||||樓上既意見真係無里頭,又答唔到人,仲要一論廢話 以前我遇過同樣問題,數字編號由另外程式轉換過來,當時有同事寫過類似VB,我記得係用INDEX指令,具體不太記得|||||一睇就知, 又係啲經驗不足嘅人, 粗製濫造, 胡亂定義啲毫無組織性嘅編號就當交功課, 今時今日嘅就業管理文化, 真係一代不如一代.. 複製插入多一攔, 用 code 或公式, 插返晒啲 0 落頭兩個 characters 中間, 平返中間固定 ### 或者 #### 數字, 先至再 sort。 這種問題, 實在連一點寫 code 嘅意欲都無..
arrow
arrow

    fksnlix 發表在 痞客邦 留言(0) 人氣()