- ·上一篇:excel表格中怎么自动分页
- ·下一篇:excel表格怎么整行复制
excel表格怎么排序文字
1.如何使用excel进行文字排序
如果你的数据有100行,在A1到A100中放置,Alt+F11打开VBA编辑器,插入一个模块,放入如下代码,把光标停在代码中间,按F5运行就好了。
Public Sub lwy() Range("A1").Select Selection.EntireColumn.Insert For i = 1 To 100 '1和100根据你放数据的位置自己修改,为数据第一行和最后一行的行数。 Cells(i, 1) = Right(Cells(i, 2), 1) Next i '下面A1:B4根据你的数据区域改 Range("A1:B4").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin, DataOption1:=xlSortNormal Columns(1).DeleteEnd Sub。
2.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
