把以下代码粘贴到VBA模块中
Function mymin(rng As Range)
Dim arr, k
arr = Split(rng, " ")
For x = 0 To UBound(arr) - 1
For y = x + 1 To UBound(arr)
If arr(x) > arr(y) Then
k = arr(x)
arr(x) = arr(y)
arr(y) = k
End If
Next y
Next x
mymin = Join(arr, " ")
End Function
B1输入公式=mymin(a1)
公式下拉完成
以下代码是直接运行就得到结果
Sub test()
Dim arr, brr, x&, y&, i&, k
arr = Range("A1:A" & Range("A65536").End(xlUp).Row)
For x = 1 To UBound(arr)
brr = Split(arr(x, 1), " ")
For y = 0 To UBound(brr) - 1
For i = y + 1 To UBound(brr)
If brr(y) > brr(i) Then
k = brr(y)
brr(y) = brr(i)
brr(i) = k
End If
Next i
Next y
arr(x, 1) = Join(brr, " ")
Next x
Range("B1").Resize(UBound(arr)) = arr
End Sub
以上两种方法的代码完成,可以不限制A列的数据是5组。
追问弱弱的问,vba模块在哪?俺只是中级菜鸟。你的这个对我实在是太高深了。
追答按Alt+F11打开VBA编辑器,在左边栏右键插入模块,把代码粘贴到右边的编辑栏中即可
方括号老师的公式挺好的,你的数字有几组就把那个5改为几就行了。注意是数组公式