ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何用VBA批量复制页眉表格内容到正文中

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-8-1 11:19 | 显示全部楼层 |阅读模式


最近公司体系升级,需要统计文件名称、编号以及发放部门,但是文件名称、编号都在页眉中,
文件名称和编号都各不相同,我想把文件名称、编号以及发放部门都放在一起,然后把其余的内容删掉,请问请问各位大神这种需求怎么通过VBA来实现批量修改,十分感谢~~
PS 我找到一个打开 保存 关闭文件的VBA代码,所以只需要将文件名称、编号以及发放部门都放在一起的代码即可,十分感谢~~

vba求助.zip

34.48 KB, 下载次数: 9

TA的精华主题

TA的得分主题

发表于 2022-8-1 17:44 | 显示全部楼层
快下班了,先给你一个半成品,明天上班了再搞批量打开自动运行保存的


Sub 页眉表格()
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    With ActiveDocument.Sections(1)
      a1 = .Headers(wdHeaderFooterPrimary).Range.Tables(1).cell(1, 2)
      a2 = Split(a1, Chr(13))(0)
      b1 = .Headers(wdHeaderFooterPrimary).Range.Tables(1).cell(2, 3)
      b2 = Split(b1, Chr(13))(0)
    End With
    With ActiveDocument.Tables(1)
        c1 = .cell(4, 2)
        c2 = Split(c1, Chr(13))(0)
        .cell(4, 2).Range = a2 & b2 & c2
    End With
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Sub

TA的精华主题

TA的得分主题

发表于 2022-8-1 17:50 | 显示全部楼层
QQ录屏20220801174111.rar (1.08 MB, 下载次数: 5)



暂时的运行效果,要下班了,先撤了
代码在审核中

TA的精华主题

TA的得分主题

发表于 2022-8-1 18:28 | 显示全部楼层
* 单个文件处理代码:
  1. Sub DocProcess801()
  2.     Dim s$, t$
  3.     With ActiveDocument
  4.         With .Sections(1).Headers(1).Range.Tables(1).Range
  5.             t = Replace(.Cells(4).Range.Text & " + " & .Cells(2).Range.Text, Chr(7), "")
  6.         End With
  7.         With .Tables(1).Range
  8.             s = .Cells(.Cells.Count).Range.Text
  9.             s = Replace(t & " + " & s, vbCr, "")
  10.             .Cells(.Cells.Count).Range.Text = s
  11.         End With
  12.     End With
  13. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-8-2 11:16 | 显示全部楼层
snow653124 发表于 2022-8-1 17:44
快下班了,先给你一个半成品,明天上班了再搞批量打开自动运行保存的

感谢大神出手相助~,自动打开保存关闭的代码我之前找到啦~
我还想把除了文件名称、编号以及发放部门的表格之外的内容都删掉,请问这段代码可以写到一起吗~再次感谢~

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-8-2 11:17 | 显示全部楼层
413191246se 发表于 2022-8-1 18:28
* 单个文件处理代码:

感谢大神3次出手相助~,我还想把除了文件名称、编号以及发放部门的表格之外的内容都删掉,请问这段代码可以写到一起吗~再次感谢~

TA的精华主题

TA的得分主题

发表于 2022-8-2 20:13 | 显示全部楼层
  1. Sub DocProcess802()
  2.     Dim s$, t$
  3.     With ActiveDocument
  4.         With .Sections(1).Headers(1).Range.Tables(1).Range
  5.             t = Replace(.Cells(4).Range.Text & " + " & .Cells(2).Range.Text, Chr(7), "")
  6.         End With
  7.         With .Tables(1).Range
  8.             s = .Cells(.Cells.Count).Range.Text
  9.             s = Replace(t & " + " & s, vbCr, "")
  10.             .Cells(.Cells.Count).Range.Text = s
  11.             .Rows.WrapAroundText = False
  12.         End With
  13.         .Range(.Tables(1).Range.Next.Start, .Content.End).Delete
  14.     End With
  15. End Sub
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-23 03:05 , Processed in 0.039803 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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