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作者: Scott090 時間: 2020-10-16 08:24
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作者: s13030029 時間: 2020-10-19 09:04
Option Explicit
Sub TEST_A4()
Dim R&, Arr, LN&, i&
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 = 10 - Len(Arr(i, 1))
Arr(i, 1) = Application.Rept("|", LN) & Arr(i, 1)
Next i
.Value = Arr
.Sort Key1:=.Item(1), Order1:=xlAscending, Header:=xlNo
.Replace "|", "", Lookat:=xlPart
End With
End Sub