[vba]快速更新表格标题序号

Word中的表格序号可以通过添加“题注”的方式进行自动管理,但是有些特殊情况下采用了人工编号的方式。

随着表格的增加,表格序号的更新成为繁重的工作,使用下面的VBA脚本可以快速的更新。

使用要求

1.表格标题必须位于表格上方一行

2.表格标题必须以“表”字开头

3.表格标题中必须出现数字

建议使用的时候在Selection.Text = str(i)这一行下断点,观察修改过程,避免错误修改

Option Explicit'更新表格序号
Public Sub 更新表格序号()Application.ScreenUpdating = FalseDim oDoc As DocumentDim oTable As TableDim i As LongDim sLine As StringDim sNumber As StringSet oDoc = Application.ActiveDocumentFor i = 1 To oDoc.Tables.Count - 1Set oTable = oDoc.Tables(i)'选择表格
        oTable.Select'光标上移一行Selection.MoveUp Unit:=wdLine, Count:=1'选择到行尾Selection.EndKey Unit:=wdLine, Extend:=wdExtendsLine = Selection.TextIf Left(sLine, 1) = "表" ThensNumber = getFirstNumber(sLine, 2)'搜索数字
            findAndSelect sNumber'选中数字是在表格标题中If Len(sNumber) > 0 And Selection.Text = sNumber And InStr(1, sLine, sNumber) Then'请在此处下断点'修改表格序号Selection.Text = str(i)End IfEnd IfNextApplication.ScreenUpdating = True
End Sub'获取字符串中首次出现的数字
Private Function getFirstNumber(ByVal str As String, ByVal start As Long) As StringDim i As LongDim ret As StringDim ch As StringFor i = start To Len(str) - 1ch = Mid(str, i, 1)If IsNumeric(ch) Thenret = ret & chElseIf ch = " " ThenElseExit ForEnd IfNextgetFirstNumber = ret
End Function'查找并选择
Private Sub findAndSelect(ByRef sToken As String)With Selection.Find.Text = sToken.Replacement.Text = "".Forward = False.Wrap = wdFindContinue.Format = False.MatchCase = False.MatchWholeWord = False.MatchByte = True.MatchWildcards = False.MatchSoundsLike = False.MatchAllWordForms = FalseEnd WithSelection.Find.Execute
End Sub

posted on 2013-04-14 21:07 kmlxk 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/snippet/archive/2013/04/14/vba-word-update-table-seq.html

[vba]快速更新表格标题序号相关推荐

  1. word中用VBA实现所有表格标题行重复

    添加开发工具 选项--自定义--开发工具 点击Visual Basic 添加模块 Sub a()For Each xxx In ThisDocument.Tablesxxx.Rows(1).Headi ...

  2. VBA按列名称或是按表格标题给EXCEL表格做排序

    VBA给EXCEL表格做排序 按列名称或是按标题给表格排序 按列名称或是按标题给表格排序 在VBA编程时,经常会对表格内容进行排序,为了方便对不同需求下的内容排序,编制了下面这个函数,此函数可以根据给 ...

  3. 【Excel】VBA自动化更新数据表格

    [博客地址]:https://blog.csdn.net/sunyaowu315 [博客大纲地址]:https://blog.csdn.net/sunyaowu315/article/details/ ...

  4. 套用带标题行的表格样式_649.Excel技巧:如何利用表格样式快速美化表格?

    之前牛闪君发表过一篇如何对表格进行专业美化的文章获得小伙伴的认可,但那种表格美化的方法效率相对比较低,通常都要手工设置字体大小,颜色,以及网格线等参数设置.有小伙伴也询问有没有快速美化表格的方法,例如 ...

  5. 动态表格数据序号从1开始_EXCEL对面的表姐看过来,你真的会给表格添加序号吗?...

    原创作者: EH看见星光 转自:Excel星球 哈罗,大家好,我是星光,今天给大家总结分享的表格技巧是--序号. 什么是序号?序号就是一二三四五上山打老虎--一二三四一二三四像首歌--一二三四二二三四 ...

  6. word表格分开快捷键_word文档如何快速拆分表格,干货!怎样快速拆分表格以及快速合并表格技巧介绍...

    原标题:word文档如何快速拆分表格,干货!怎样快速拆分表格以及快速合并表格技巧介绍 word是一款文字处理器应用程序,我们大家在生活中工作中都会频繁的使用到word写一些文字.素材等等内容,我们记录 ...

  7. 表格标题位置-CSS入门基础(020)

    今天我们接着分享表格样式的内容. 默认情况下,表格标题位置是在表格的上方,但是如果我们想要把表格标题放在表格下方呢? 在css中,我们可以使用caption-side属性来定义表格标题的位置. 语法: ...

  8. html中怎么给表格增加序号,如何给word表格中添加编号

    在Word中制作表格时都希望在表格的第一列增加一个序号,其作用可以标识行或统计行数.例如从1开始,一直到80.100甚至更多.那么怎么添加呢?采用手工进行编辑还是其他的?手工编辑显然是一件不可能的事, ...

  9. Excel快速对齐表格的中姓名(两个字姓名和三个字姓名对齐)

    Excel快速对齐表格的中姓名(两个字姓名和三个字姓名对齐) 1.像这样表格里有两个字的姓名和三字的姓名,如何对齐? 2. 框选选中姓名列,鼠标右键点击[设置单元格格式] 3.在[对齐]选项卡中找到[ ...

  10. 如何快速更新网站内容

    网站快速更新可以让我们网站拥有大量的内容,怎样保持网站快速更新,这需要我们拥有大量的素材进行发布,这些内容的时效性和质量也是需要掌握的,这样才能为读者提供优质的服务. 通过网站快速更新插件,我们可以对 ...

最新文章

  1. UVA 10700 Camel trading
  2. 南京大学教授施斌及其团队—— 光纤变“神经” 大地能感知
  3. JPA入门到精通 - JPA入门
  4. 【动态规划】最长公共上升子序列
  5. python爬虫安装错误与解决方式
  6. 图解 Linux 安装 JDK1.8 、配置环境变量
  7. 苹果手机查看python代码的免费软件-Python实现抢购IPhone手机
  8. Moss网站在不同服务器的迁移
  9. 易基因|一文看懂:ChIP实验和qPCR定量分析怎么做
  10. python根据时间序列画折线图_Python如何根据时间序列数据作图
  11. android linux 休眠 深度睡眠 查看 方法 调试
  12. 给初学者推荐的10个Python免费学习网站!赶紧收藏吧!
  13. zebra扫码枪复位_zebra斑马条码打印机常见问题和解决办法
  14. Pwn2Own:浏览器血雨腥风独活Chrome 智能手机波澜不惊单挂iphone
  15. KingbaseES V8 GIS数据迁移方案(2. Kingbase GIS能力介绍)
  16. 如何打开墨子平台的基础数据管理工具
  17. CAPL 脚本对.ini 配置文件的高阶操作
  18. GPS卫星同步时钟(GPS授时服务器)在校园网络里的应用
  19. solarwinds如何使用
  20. 钱包的下一站:无私钥、不用再抄助记词

热门文章

  1. IDEA左侧,按照文件夹排序
  2. shell 参数的分组读取
  3. alter的详细用法
  4. MySQL从入门到放弃(三)
  5. 如何查找各个手机放序列号
  6. 网页打开5秒后弹出广告窗口
  7. 恒生电子软件工程师面试
  8. 每一个小孩都是种子,请允许Ta在成长的路上跌跌撞撞。耐心的等待,种子一定能长成参天大树!
  9. 软件工程师:机器学习也需要学习?
  10. C# 将PDF文档转换成图片