怎样让excel里面单格里的数字从小到大排序
这是我的表格,我想让每一格里面的数字从小到大排序,应该如何操作??
在此,提供一个使用VBA编写的“冒泡程序”,供你参考:
原始数据如图:
每个单元格6个数字,以逗号(,)分隔
VBA代码如下:
Sub 单元格排序()
'
Dim shuzu(1 To 6)
hs = 1
ls = 1
dachuan = Cells(hs, ls)
Do While Len(dachuan) <> 0
zs = 1
Do While zs <= 6
fgf = InStr(dachuan, ",")
If fgf <> 0 Then
shuzu(zs) = Left(dachuan, fgf - 1)
dachuan = Right(dachuan, Len(dachuan) - fgf)
Else
shuzu(zs) = dachuan
End If
Cells(hs, ls + 1) = shuzu(zs)
ls = ls + 1
zs = zs + 1
Loop
jh = 1
Do While jh < 6
If Val(shuzu(jh)) > Val(shuzu(jh + 1)) Then
lssz = shuzu(jh)
shuzu(jh) = shuzu(jh + 1)
shuzu(jh + 1) = lssz
jh = 1
Else
jh = jh + 1
End If
Loop
Cells(hs, ls + 2) = shuzu(1) & "," & shuzu(2) & "," & shuzu(3) & "," & shuzu(4) & "," & shuzu(5) & "," & shuzu(6)
zs = 1
hs = hs + 1
ls = 1
dachuan = Cells(hs, ls)
Loop
'
End Sub
见图:
这段代码执行后的效果,见图:
先把A1单元格的数据复制到记事本,再从记事本复制到word中,把逗号替换为换行符(不要省略步骤)。替换过程如下:点击主菜单“编辑”-》替换;在弹出对话框中“查找内容”一栏输入逗号“,”,“替换为”一栏输入“^p”;如果没有出现“高级选项”则点击“高级”(有的话则不必),去掉“区分全/半角”前面的勾(如果被选中的话),去掉“使用通配符”前面的勾(如果被选中的话);点击“全部替换”。这样,每个数据是按行排列。把这些数据全选,复制到记事本,再从记事本复制到excell中(最好不要省步骤,否则会浪费很多时间),这样,在excell中,各个数据排成一列,然后可以直接排序。排序后,把数据复制到记事本,再从记事本复制到word中,把回车换行符替换为逗号即可。(操作类似上方的替换,只是在“查找内容”一栏输入“^p”,“替换为”一栏输入逗号“,”)再把数据复制回去即可。