gpt4 book ai didi

excel - 通过宏查找代码并将其添加到模块中

转载 作者:行者123 更新时间:2023-12-03 00:38:58 25 4
gpt4 key购买 nike

我正在尝试在 VBA 中创建代码,该代码将搜索模块,查找特定文本,然后在同一行中的该文本之前添加一个字符串。例如,每次模块中显示“yo”时,我希望将其更改为“Add This yo”。

下面的代码成功找到了模块中显示“yo”的实例,但它没有在我想要的位置添加文本。相反,文本被添加到模块的最顶部(甚至不在子模块内)。如何将此文本添加到“yo”之前?

Public Sub Edit()

Dim vb As VBComponent
Dim i As Long
Dim intFoundLine As Integer
Dim strSearchPhrase As String
Set vb = ThisWorkbook.VBProject.VBComponents("Module2")
strSearchPhrase = "yo"
intLinesNr = vb.CodeModule.CountOfLines

For i = 1 To intLinesNr
If vb.CodeModule.Find(strSearchPhrase, i, 1, -1, -1) Then
intFoundLine = i
MsgBox "Found at " & intFoundLine
vb.CodeModule.AddFromString ("Add This")
End If
Next

End Sub

最佳答案

用新文本替换该行:

vb.CodeModule.ReplaceLine i, "Add This" & vb.CodeModule.Lines(i, 1)

根据 Mathieu Guindon 的回答,以下是我处理搜索短语的所有实例的方法:

Do While vb.CodeModule.Find(strSearchPhrase, i, 1, -1, -1)
vb.CodeModule.ReplaceLine i, "Add This" & vb.CodeModule.Lines(i, 1)
i = i + 1
Loop
'

关于excel - 通过宏查找代码并将其添加到模块中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57079339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com