Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3344|回复: 7

怎么替换宏里面的语句

[复制链接]
发表于 2011-2-2 16:46 | 显示全部楼层 |阅读模式
5学分
如题:把下面的宏语句的第4句替换为 R = 456
该宏在“模块1”下面,但首先不知道该宏所在的模块里面的行,只知道需要替换该宏的第4句语句

Sub 综合()
Dim r&, i&, T:   T = Timer
Dim arr
r = [b65536].End(3).Row
arr = Range("A1:BZ" & r)
....
end sub

谢谢解答,希望解决

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-2-2 17:46 | 显示全部楼层
代码放在模块2里面:
Sub DispAllProc()
    Dim strTmp As String
    With ThisWorkbook.VBProject.VBComponents("模块1").CodeModule
        strTmp = .Lines(5, 1)
        strTmp = Replace(strTmp, " & r", " & 456")
        .ReplaceLine 5, vbTab & strTmp
    End With
End Sub

替换代码0202.rar

5.81 KB, 下载次数: 21

回复

使用道具 举报

发表于 2011-2-2 21:39 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2011-2-2 23:15 | 显示全部楼层
回复 蓝桥玄霜 的帖子

很感谢解答,但是问题中有一个问题没有解决:该宏在“模块1”下面,但首先不知道该宏所在的模块里面的行

老师给出的解答,固定了要替换的行固定在模块1的第5句,很不方便所以还请求在解答
回复

使用道具 举报

 楼主| 发表于 2011-2-2 23:20 | 显示全部楼层
已知的条件是:Sub 综合  和  在模块1
回复

使用道具 举报

 楼主| 发表于 2011-2-2 23:22 | 显示全部楼层
已知的条件是:Sub 综合的第4句语句(该宏的第5行)  和  在模块1
就替换该第4句语句

但该第4句语句事先不知道在模块1的多少行,
回复

使用道具 举报

发表于 2011-2-3 17:07 | 显示全部楼层
Sub DispAllProc()
    Dim strTmp As String
    With ThisWorkbook.VBProject.VBComponents("模块1").CodeModule
        For i = 1 To .CountOfLines
            strProcName = .ProcOfLine(i, vbext_pk_Proc)
            If strProcName <> "" And strProcName <> strTmp Then
                strTmp = strProcName
                If strTmp = "综合" Then GoTo 100
            End If
        Next i
        Exit Sub
100:
        strTmp = .Lines(i + 4, 1)
        strTmp = Replace(strTmp, " & r", " & 456")
        .ReplaceLine 5, vbTab & strTmp
    End With
End Sub
回复

使用道具 举报

 楼主| 发表于 2011-2-4 04:22 | 显示全部楼层
回复 蓝桥玄霜 的帖子

先祝福蓝桥老师新年快乐

很感谢您的回复

可是代码还有有些问题

1.需要替换的宏(综合)不是固定在模块1的第一行开始,sub 综合开始的行可能是第14行,可可能是29行,它也并不是模块1里面的第1个宏,所以还请蓝桥老师再帮助改写代码。
因为代码只可以用于sub 综合  固定在模块1的第一行才能达到目的
而学生希望是sub 综合在模块1里面的然后位置都可以达到实现的目的

请老师烦看附件,模块2我也例举了sub 综合所在的随意的位置

替换代码.rar (8.59 KB, 下载次数: 12)
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-26 13:54 , Processed in 0.383723 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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