ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何用vba整理序号,重排版面?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-10-30 12:23 | 显示全部楼层 |阅读模式
本帖最后由 sblisb 于 2015-10-30 12:45 编辑

经常要下载一些时事做习题,可是排版浪费了很多时间,能用vba自动完成吗?
1、下载了很多份试题,有所选择,然后整成一份,所以题目序号是乱的,能不能自动重生成题号?
2、选择题答案排版不整齐,想让它整齐,就是abcd四个答案,如果四个答案空两个Tab可以排成一行就排成一行;不行就排成两行,每行两个答案,两个答案中间空四个Tab。
3、题目中有答案,能自动提取到习题最后,并删除题目中的答案吗?
自动排版Test.rar (7.08 KB, 下载次数: 51)

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-10-30 12:54 | 显示全部楼层
本帖最后由 sblisb 于 2015-10-30 12:56 编辑

发现答案排版其实就是选中答案分栏,能排成一行就一行,不能就用分栏分成两栏

TA的精华主题

TA的得分主题

发表于 2015-10-30 13:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
简单的处理方法:
1.随意找个地方,按Ctrl+F9,输入需 seq aas,再按F9,会变成1,剪切这个1;然后勾查找替换框的选通配符;
2.查找:[0-9]{1,}.替换为:^c.
3.全选,按F9更新域,按Ctrl+Shift+F9断开域;
4.查找^13答案:*^13,勾选突出显示所有在该范围找到的项目;点查找全部,批量剪切粘到最后即可。
至于选项的转换:查找[BD],替换为^13^&,就太简单了。
至于再专业些。就需要代码了,不是吾能帮的了了。。。
5.

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-10-30 13:57 | 显示全部楼层
本帖最后由 sblisb 于 2015-10-30 19:53 编辑
zhanglei1371 发表于 2015-10-30 13:50
简单的处理方法:
1.随意找个地方,按Ctrl+F9,输入需 seq aas,再按F9,会变成1,剪切这个1;然后勾查找 ...

A.jpg
在第二步查找阶段,没有查找到内容呀,所以第三步进行不了
“至于选项的转换:查找[BD],替换为^13^&,就太简单了”这句不明白做什么?



TA的精华主题

TA的得分主题

 楼主| 发表于 2015-10-30 20:02 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
sblisb 发表于 2015-10-30 13:57
在第二步查找阶段,没有查找到内容呀,所以第三步进行不了
“至于选项的转换:查找,替换为^13^&,就太 ...

噢,正则表达式错了一位,-输成~了

TA的精华主题

TA的得分主题

发表于 2015-10-31 10:20 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
楼主,下面只完成了第一步,试试:(创建副本后,在副本中把题号完成顺序编号)
Sub aaa整理题号()
'创建副本
    ActiveDocument.SaveAs FileName:=ActiveDocument.Path & "\" & Left(ActiveDocument.Name, Len(ActiveDocument.Name) - 4) & "_副本" & ".doc"
    Dim i As Paragraph, j As Long, k As Long
    For Each i In ActiveDocument.Paragraphs
        If i.Range Like "#.*" Or i.Range Like "##.*" Or i.Range Like "###.*" Then
            i.Range.Font.Color = wdColorPink
            k = InStr(i.Range, ".")
            i.Range.Select
            Selection.MoveEnd Unit:=wdCharacter, Count:=-(Len(i.Range) - (k - 1))
            j = j + 1
            Selection.Text = j
        End If
    Next
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-11-1 23:21 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
413191246se 发表于 2015-10-31 10:20
楼主,下面只完成了第一步,试试:(创建副本后,在副本中把题号完成顺序编号)
Sub aaa整理题号()
'创建 ...

谢了,哪句是改动字体颜色的,我不要改动色彩

TA的精华主题

TA的得分主题

发表于 2015-11-2 09:28 | 显示全部楼层
i.Range.Font.Color = wdColorPink-----粉红色,屏蔽(即在此语句前面加个英文单引号',把它注释掉或删除均可,实为测试时突出显示、鲜明之用)。

TA的精华主题

TA的得分主题

发表于 2015-11-2 09:30 | 显示全部楼层
楼主,改动颜色是为了方便你知道哪个段落是题目,最后《全选》再设为《自动色》未尝不可。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-15 18:15 , Processed in 0.022970 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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