ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 文档中排序问题?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-1-22 11:02 | 显示全部楼层 |阅读模式
本帖最后由 壹号公馆 于 2021-1-23 10:23 编辑

文档中有英文试卷,想把中文和英文合并在一起,请教有什么好办法,这样的试卷比较多?
759481d77ebd4607fd09d86d713a2ab.png
e44e950105bc96cc8b9d9bffef82c5d.png

第五单元单词听写.rar

15.27 KB, 下载次数: 29

TA的精华主题

TA的得分主题

发表于 2021-1-23 01:52 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 413191246se 于 2021-1-24 12:00 编辑

略。。。。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-1-23 10:27 | 显示全部楼层
Jason_WangSS 发表于 2021-1-23 09:45
复制到excel,前面加一辅助列,中文前面列填充1,3,5,7,9....英文前面列填充2,4,6,8,1.....按辅助列 ...

这个办法简单有效,感谢帮助!

TA的精华主题

TA的得分主题

发表于 2021-1-24 11:57 | 显示全部楼层
* 楼主,我重新编写了程序,没有多余的步骤,仅对你的示例文档有效,请试用:
  1. Sub Chinese_English_View_20210124()
  2.     Dim i As Paragraph, r As Range, s As Range, n&, j&
  3.     With ActiveDocument
  4.         .ConvertNumbersToText
  5.         .Content.Find.Execute "[^13^l]", , , 1, , , , , , "^p", 2
  6.         For Each i In .Paragraphs
  7.             If Len(i.Range) = 1 Then i.Range.Delete
  8.         Next
  9.     End With
  10.     With Selection
  11.         .HomeKey 6
  12.         Do
  13.             .MoveEnd 4
  14.         Loop Until Asc(.Next) < 0
  15.         Set r = .Range
  16.         j = .Paragraphs.Count
  17.         .MoveRight
  18.         .EndKey 6, 1
  19.         Set s = .Range
  20.         Do
  21.             n = n + 1
  22.             r.Paragraphs(n).Range.Characters.Last.InsertBefore Text:="`" & Replace(s.Paragraphs(n).Range.Text, vbCr, "")
  23.         Loop Until n = j
  24.         s.Delete
  25.         .HomeKey 6
  26.     End With
  27.     ActiveDocument.Content.Find.Execute "`", , , 0, , , , , , "^p", 2
  28. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-1-22 11:45 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-1-22 12:33 | 显示全部楼层
ming0018 发表于 2021-1-22 11:45
用vba重组或者排序

如果我会做,就不来请教了,我试图将文档复制到excel表格进行排序,你看数字无法正常排序,1、10在前面,2、21在后面,3、4、5、6又排在最后面,有什么好办法么?

TA的精华主题

TA的得分主题

发表于 2021-1-22 13:57 | 显示全部楼层
本帖最后由 413191246se 于 2021-1-23 01:49 编辑

not.........

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-1-22 15:38 | 显示全部楼层
413191246se 发表于 2021-1-22 13:57
* 楼主,前几天有人问过这样的中英混排问题,我给了代码,你可能没看到。
* 刚才我临时重新构思了一下,成 ...

你好!不知道什么原因运行不了,不知道是否操作有误,麻烦你将宏代码及文档制作在一起,我看一下,那步错误,非常感谢!这个论坛也是要用的时候,在来求助一下,有时间要好好研究一下。谢谢!

TA的精华主题

TA的得分主题

发表于 2021-1-22 17:08 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
壹号公馆 发表于 2021-1-22 12:33
如果我会做,就不来请教了,我试图将文档复制到excel表格进行排序,你看数字无法正常排序,1、10在前面, ...

前9个序号前面补个0,再用vba排序一下就好了。
QQ截图20210122170658.jpg

TA的精华主题

TA的得分主题

发表于 2021-1-22 19:05 | 显示全部楼层
* 请先选定英文部分,即“第2页的 第五单元。。。。”直到“29. xxxxxx ”,运行下面的宏:

TA的精华主题

TA的得分主题

发表于 2021-1-23 09:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
复制到excel,前面加一辅助列,中文前面列填充1,3,5,7,9....英文前面列填充2,4,6,8,1.....按辅助列由小到大排序即可

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-24 01:10 , Processed in 0.039724 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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