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

excel表格有汉字怎么排序

2025-01-10 10:06:05

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


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