ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 7462|回复: 8

[讨论] 按汉字一二三四五六...排序

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-7-27 13:24 | 显示全部楼层 |阅读模式
本帖最后由 zhanglei1371 于 2014-7-27 13:47 编辑

近来笔者在批量用word合并一些文档时遇到个问题,就是在插入第一章、第二章时,无法自动按章节顺序,而是按拼音顺序,因此思索良久,始终没有更好的方法
最后用如下代码解决了问题。代码是用很机械的方法完成的。仅适用于100内的情况
作为讨论,各位看看有没更好的方法和代码,如有更好更快的思路及代码,可跟帖提供,共同学习。
  1. Sub 按一二三四五六七八九十排序()
  2. on error resume next
  3.     arr = Array("100#一百", "099#九十九", "098#九十八", "097#九十七", "096#九十六", "095#九十五", "094#九十四", "093#九十三", "092#九十二", "091#九十一", _
  4.                 "090#九十", "089#八十九", "088#八十八", "087#八十七", "086#八十六", "085#八十五", "084#八十四", "083#八十三", "082#八十二", "081#八十一", _
  5.                 "080#八十", "079#七十九", "078#七十八", "077#七十七", "076#七十六", "075#七十五", "074#七十四", "073#七十三", "072#七十二", "071#七十一", _
  6.                 "070#七十", "069#六十九", "068#六十八", "067#六十七", "066#六十六", "065#六十五", "064#六十四", "063#六十三", "062#六十二", "061#六十一", _
  7.                 "060#六十", "059#五十九", "058#五十八", "057#五十七", "056#五十六", "055#五十五", "054#五十四", "053#五十三", "052#五十二", "051#五十一", _
  8.                 "050#五十", "049#四十九", "048#四十八", "047#四十七", "046#四十六", "045#四十五", "044#四十四", "043#四十三", "042#四十二", "041#四十一", _
  9.                 "040#四十", "039#三十九", "038#三十八", "037#三十七", "036#三十六", "035#三十五", "034#三十四", "033#三十三", "032#三十二", "031#三十一", _
  10.                 "030#三十", "029#二十九", "028#二十八", "027#二十七", "026#二十六", "025#二十五", "024#二十四", "023#二十三", "022#二十二", "021#二十一" _
  11.         , "020#二十", "019#十九", "018#十八", "017#十七", "016#十六", "015#十五", "014#十四", "013#十三", "012#十二", "011#十一", "010#十", "009#九", _
  12.                 "008#八", "007#七", "006#六", "005#五", "004#四", "003#三", "002#二", "001#一")
  13.     With Application.FileDialog(1)
  14.         If .Show <> -1 Then Exit Sub
  15.         For Each f In .SelectedItems
  16.             For i = 0 To UBound(arr)
  17.                 If InStr(bn, Split(arr(i), "#")(1)) Then
  18.                     strA = Replace(f, Split(arr(i), "#")(1), Split(arr(i), "#")(0)) & "@@" & f + vbNewLine + strA
  19.                     Exit For
  20.                 End If
  21.             Next
  22.         Next
  23.     End With
  24.     Set fso = CreateObject("scripting.filesystemobject")
  25.     fso.createtextfile("c:\tem$.txt", True).write strA
  26.     Shell "cmd /c type c:\tem$.txt|sort>c:\tem2.txt"
  27.     strB = fso.opentextfile("c:\tem2.txt").readall
  28.     Set fso = Nothing
  29.     arr2 = Split(Left(strB, Len(strB) - 1), vbCrLf)
  30.     For Each m In arr2
  31.         ActiveDocument.Content.InsertAfter Split(m, "@@")(1) + Chr(13)
  32.     Next
  33.     Kill "c:\tem*.txt"
  34. End Sub
复制代码
此外,最近遇到个奇怪的文档,全选----清除格式居然无法完成,有兴趣的可以看看是什么原因造成的:


补充内容 (2014-8-4 10:29):
17行的bn改为f

复件 八、(4)磺胺类药物的分析.rar

8.38 KB, 下载次数: 21

TA的精华主题

TA的得分主题

发表于 2014-7-27 15:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
占位,有空再看。

TA的精华主题

TA的得分主题

发表于 2014-7-28 09:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
用wps全选——清除格式,没有问题。word的bug?

TA的精华主题

TA的得分主题

发表于 2014-7-28 11:15 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
可以清除的呀。
1111.gif

TA的精华主题

TA的得分主题

发表于 2014-7-30 13:28 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2014-8-4 09:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
关于代码,中文转数字可以做个转换函数(类似财务金额转换的那样),不用穷举。要求不大看得明白,17行的bn怎么来的

TA的精华主题

TA的得分主题

发表于 2014-8-4 16:31 | 显示全部楼层
sqhsqhli 发表于 2014-8-4 09:38
关于代码,中文转数字可以做个转换函数(类似财务金额转换的那样),不用穷举。要求不大看得明白,17行的bn ...

其实主要是这个函数比较麻烦,需要写点代码,可能技术不够呵呵

TA的精华主题

TA的得分主题

发表于 2014-8-6 14:05 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

TA的精华主题

TA的得分主题

发表于 2014-8-9 22:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢!!!!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-28 15:11 , Processed in 0.039656 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表