返回列表 上一主題 發帖

[發問] VBA 請問字數+字母排序怎麼做

Sub TEST()
With Range([B1], [A65536].End(xlUp))
     .Columns(2) = "=LEN(A1)"
     .Sort Key1:=.Item(2), Order1:=xlAscending, _
           Key2:=.Item(1), Order2:=xlAscending, Header:=xlYes
     .Columns(2).ClearContents
End With
End Sub

TOP

回復 8# s13030029

邏輯都一樣, 變通一下即可:
Xl0000145.rar (14.48 KB)

TOP

回復 10# s13030029

Sub TEST_A3()
Dim R&, Arr, LN&
R = Cells(Rows.Count, 1).End(xlUp).Row
If R < 3 Then Exit Sub
With Range("A2:A" & R)
     Arr = .Value
     For i = 1 To .Count
         LN = Len(Arr(i, 1))
         Arr(i, 1) = 100 + IIf(LN = 0, 99, LN) & "|" & Arr(i, 1)
     Next i
     .Value = Arr
     .Sort Key1:=.Item(1), Order1:=xlAscending, Header:=xlNo
     .Replace "*|", "", Lookat:=xlPart
End With
End Sub

TOP

回復 12# s13030029


G03 >> 3個字 >> 變成 103|G03
FK2156 同理變成 106|FK2156
空白 則 變成 199|

即可依字數排序, 且空白的排到最後, 再將"*|"之前的數字替換為空!

TOP

回復 14# s13030029

看文字有規律, 直接排序不行嗎???
或者有其它狀況, 上傳檔案看看~~

TOP

        靜思自在 : 願要大、志要堅、氣要柔、心要細。
返回列表 上一主題