当前位置:首页经验技巧Excel经验excel技巧

excel表格怎么排序文字

2025-09-25 11:28:12

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


免责声明:本站信息来自网络收集及网友投稿,仅供参考,如果有错误请反馈给我们更正,对文中内容的真实性和完整性本站不提供任何保证,不承但任何责任,谢谢您的合作。
版权所有:五学知识网 Copyright © 2015-2026 www.z8000w.com. All Rights Reserved .