【发布时间】:2017-02-07 05:50:35
【问题描述】:
例如,我拥有的一个单元格具有值:
1133,1131,1141,1142,1143,1151,1132,1181
如何按升序排列?
1131,1132,1133,1141,1142,1143,1151,1181
这样做是为了处理很多不同的事情,因此希望找到一个公式或 vba 函数驱动的解决方案。
【问题讨论】:
例如,我拥有的一个单元格具有值:
1133,1131,1141,1142,1143,1151,1132,1181
如何按升序排列?
1131,1132,1133,1141,1142,1143,1151,1181
这样做是为了处理很多不同的事情,因此希望找到一个公式或 vba 函数驱动的解决方案。
【问题讨论】:
Option Explicit
Function sortingHat(str As String, _
Optional delim As String = ",")
Dim a As Long, b As Long, arr As Variant, tmp As Variant
'split the string into an array
arr = Split(str, delim)
'sort the array
For a = LBound(arr) To UBound(arr) - 1
For b = a + 1 To UBound(arr)
If arr(b) < arr(a) Then
tmp = arr(a)
arr(a) = arr(b)
arr(b) = tmp
End If
Next b
Next a
'join the array into a string
sortingHat = Join(arr, delim)
End Function
【讨论】: