给你做个自定义函数吧.用法跟excel的函数一样,
按ALT+F11进入VBA编辑窗口在左边的列表里单击鼠标右键选插入模块,粘贴以下代码到右边的窗口并保存.回到工作表.该函数就可以使用了.具体用法,例如:=HBPX(B2:F2)
另外需要注意的是该函数只能选一行单元格,如果要进行列向的单元格合并排序,要修改函数.
代码:
Function HBPX(rng As Range)
Dim Myarr, Tmp
Myarr = rng
For i = UBound(Myarr, 2) To LBound(Myarr, 2) + 1 Step -1
For ii = LBound(Myarr, 2) To i - 1
If Myarr(1, ii) > Myarr(1, ii + 1) Then
Tmp = Myarr(1, ii)
Myarr(1, ii) = Myarr(1, ii + 1)
Myarr(1, ii + 1) = Tmp
End If
Next ii
Next i
For n = LBound(Myarr, 2) To UBound(Myarr, 2)
If Myarr(1, n) <> "" Then
If HBPX = "" Then
HBPX = Myarr(1, n)
Else
HBPX = HBPX & "," & Myarr(1, n)
End If
End If
Next n
End Function
追问公式粘贴不进去
追答这个不是公式,是宏代码.是一个自定义函数.按我上面说的方法操作后.就可以使用 用法上面也说明了 也举了例子
第一步
按ALT+F11进入VBA编辑窗口在左边的列表里单击鼠标右键选插入模块,粘贴上面的代码到右边的窗口并保存.回到工作表.该函数就可以使用了.
第二步
函数的具体用法和EXCEL的内置函数类似,在单元格里输入 例如:=HBPX(B2:F2)
另外需要注意的是该函数只能选一行单元格,如果要进行列向的单元格合并排序,要修改函数.
追问呵呵,我是按照你的方法在VBA窗口粘贴,保存的时候会提示如同所示的文字。在单元格内输入函数的时候无效。
追答1.把你的这表格的宏安全级别降低到低.让他可以使用宏.
2.看你的贴图你的代码粘贴错位置了.应该在左边的列表里点鼠标右键插入一个模块.然后粘贴代码到右边窗口