我试图重用我的代码模块来运行循环(这会在不同的循环中改变一些数据);然而,我意识到从第二个循环开始,宏仍然在运行旧的脚本。你知道如何确保宏运行更新后的脚本(每次循环时我都会删除并重新创建脚本)吗?
实际的脚本很长,为了简化它,我只提取我引用的区域。我运行这个没有错误,只是从第二个循环开始,我检查了我重新创建的模块有更新的脚本,但宏仍然运行第一个循环脚本,这对我来说非常奇怪。
要写入模块的脚本存储在excel sheet3中,并在每次新循环开始后更改
Sub write_module()
For i = 1 To 2
Dim VBProj As VBIDE.VBProject
Dim VBComp, comp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("ZC553_MS")
Set CodeMod = VBComp.CodeModule
script_lr = Sheet3.Cells(Rows.Count, 8).End(xlUp).Row
LineNum = 2
With ActiveWorkbook.VBProject.VBComponents("ZC553_MS").CodeModule
' .DeleteLines 2, VBComp.CodeModule.CountOfLines - 2
For j = 1 To script_lr
.InsertLines LineNum, Sheet3.Cells(j, 8)
LineNum = LineNum + 1
Next j
End With
zc553_master
Next i
End Sub
https://stackoverflow.com/questions/51530915
复制相似问题