- ·上一篇:excel字段列表怎么添加
- ·下一篇:怎么把excel批量改名称了
excel表格有汉字怎么排序
1.在excel中,如何将单元格内的汉字进行排序?
用VB也比较简单的:对指定单元格的内容按字符ascii码大小进行排序(对汉字来说就是按声母的顺序排序)。
在工作表页面按ALT+F11 进入VBA编辑窗口,点菜单“插入”->;“模块”,粘贴以下代码到光标位置,保存并关闭代码窗口。
该代码是一个自定义函数, 用法跟excel函数基本相同,比如要排序A1单元格的内容就在A2单元格输入=px01(A1)。
以后在打开文件时要将宏的安全性设置为中(菜单“工具”->;“宏”->;“安全性”)并启用宏。
代码如下:
Function px01(str As String)
ReDim arr(Len(str) - 1)
For i = 1 To Len(str)
arr(i - 1) = Mid(str, i, 1)
Next
For i = LBound(arr) To UBound(arr) - 1
For ii = i + 1 To UBound(arr)
If Asc(arr(i)) > Asc(arr(ii)) Then
temp = arr(ii)
arr(ii) = arr(i)
arr(i) = temp
End If
Next ii
Next i
px01 = Replace(Join(arr), " ", "")
End Function
2.excel如何对汉字自动排序
我知道可以通过vba编程实现。
也不是很复杂。 关键是看看你作什么用,如果只是这个功能,你输完后排序、拷贝出来就好了,没有必要用vba (以下是录制的一段排序代码,如果楼主用过vba的话,你自己应该也能做到的,加油吧。
Columns("F:F").Select Selection.Sort Key1:=Range("F2"), Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin, DataOption1:=xlSortNormal)。
3.excel表中在一个单元格中中怎样能把文字有序的排列
按什么排序?按声母顺序排序?给你个例子你看看吧
在工作表页面按ALT+F11 进入VBA编辑窗口,在左边的列表框先插入模块,粘贴以下代码到光标位置,关闭VBA代码窗口.该代码是一个自定义函数,目的就是对指定单元格的内容按字符的ascii码的大小进行排序(对汉字来说就是按声母的顺序进行排序).
用法跟excel内置函数基本相同 比如要排序A1单元格的内容就在A2 单元格输入=zfpx(A1)
代码如下:
Function zfpx(str As String)
ReDim arr(Len(str) - 1)
For i = 1 To Len(str)
arr(i - 1) = Mid(str, i, 1)
Next
For i = LBound(arr) To UBound(arr) - 1
For ii = i + 1 To UBound(arr)
If Asc(arr(i)) > Asc(arr(ii)) Then
temp = arr(ii)
arr(ii) = arr(i)
arr(i) = temp
End If
Next ii
Next i
zfpx = Replace(Join(arr), " ", "")
End Function