ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 替换代码的问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-3-16 16:30 | 显示全部楼层 |阅读模式
本帖最后由 dfshm 于 2024-3-16 17:38 编辑

附件 替换代码附件.rar (905.89 KB, 下载次数: 8)

谢谢老师!

TA的精华主题

TA的得分主题

发表于 2024-3-16 16:33 | 显示全部楼层
为了效率、空间、友善。
¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
与本附件同一目录下,有工作薄若干个。
工作薄格式:xlsm
每一个工作薄里面都有代码,在模块1中。
本附件模块1中,也有代码。
述求:将本附件 模块1中的代码,替换掉各工作薄 模块1中的代码。
¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥

TA的精华主题

TA的得分主题

发表于 2024-3-16 16:55 | 显示全部楼层
Sub ReplaceModule1Content()
    Dim SourceLines As String
    Dim MyFolder As String
    Dim MyFile As String
    Dim wb As Workbook
    Dim vbProj As Object
    Dim vbComp As Object
    Dim ThisProj As Object
    Dim ThisComp As Object

    ' 保存当前工作簿中模块1的代码
    Set ThisProj = ActiveWorkbook.VBProject
    Set ThisComp = ThisProj.VBComponents("模块1") '要替换成的模块名字
    SourceLines = ThisComp.CodeModule.Lines(1, ThisComp.CodeModule.CountOfLines)

    ' 指定你的文件夹路径(请根据实际情况修改路径)
    MyFolder = "E:\浏览器下载\替换代码附件\"

    ' 查找该文件夹中的所有.xlsm文件
    MyFile = Dir(MyFolder & "*.xlsm")
    While MyFile <> ""
        ' 打开工作簿
        Set wb = Workbooks.Open(MyFolder & MyFile)

        ' 获取VBA项目
        Set vbProj = wb.VBProject
        Set vbComp = vbProj.VBComponents("模块1") '被替换模块名字

        ' 清除并替换模块1的代码
        With vbComp.CodeModule
            .DeleteLines 1, .CountOfLines
            .InsertLines 1, SourceLines
        End With

        ' 保存并关闭工作簿
        wb.Close SaveChanges:=True

        ' 获取下一个文件
        MyFile = Dir
    Wend
End Sub



评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-3-16 16:55 | 显示全部楼层
回复你了  你换成你的路径就好了

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-16 17:13 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
风雨声点滴 发表于 2024-3-16 16:55
回复你了  你换成你的路径就好了

老师你好,谢谢帮助。问一下,直接把代码放模块2里行吗?

TA的精华主题

TA的得分主题

发表于 2024-3-16 17:15 | 显示全部楼层
dfshm 发表于 2024-3-16 17:13
老师你好,谢谢帮助。问一下,直接把代码放模块2里行吗?

对的,就是那样

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-16 17:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

老师你好,试了一下,没有反应。

TA的精华主题

TA的得分主题

发表于 2024-3-16 17:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
dfshm 发表于 2024-3-16 17:25
老师你好,试了一下,没有反应。

名字、路径修改了吗?

TA的精华主题

TA的得分主题

发表于 2024-3-16 17:36 | 显示全部楼层
我这里完美运行,你要先把要替换的文件先放一起,然后把替换掉文件拷贝出文件夹放在 桌面,然后在模块2里面把这个代码粘贴进去,等他运行玩就全部替换好了。
6476fb0534693be49d26e480edbd8d6.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-18 05:36 , Processed in 0.042892 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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