gpt4 book ai didi

vba - 将 VBA 代码从一个工作簿中的工作表复制到另一个工作簿中?

转载 作者:行者123 更新时间:2023-12-01 17:33:27 25 4
gpt4 key购买 nike

我一直在使用下面的行将 VBA 模块从一个工作簿编译到另一个工作簿,我不知道是否有更简单的方法,但它们工作得很好:

Set srcVba = srcWbk.VBProject
Set srcModule = srcVba.VBComponents(moduleName)

srcModule.Export (path) 'Export from source
trgtVba.VBComponents.Remove VBComponent:=trgtVba.VBComponents.Item(moduleName) 'Remove from target
trgtVba.VBComponents.Import (path) 'Import to target

但是现在我需要复制工作表中而不是模块中的 VBA 代码。上述方法不适用于该场景。

我可以使用什么代码将工作表中的 VBA 代码从一个工作簿复制到另一个工作簿?

最佳答案

您无法删除并重新导入 VBComponent,因为这会从逻辑上删除整个工作表。相反,您必须使用 CodeModule 来操作组件内的文本:

Dim src As CodeModule, dest As CodeModule

Set src = ThisWorkbook.VBProject.VBComponents("Sheet1").CodeModule
Set dest = Workbooks("Book3").VBProject.VBComponents("ThisWorkbook") _
.CodeModule

dest.DeleteLines 1, dest.CountOfLines
dest.AddFromString src.Lines(1, src.CountOfLines)

关于vba - 将 VBA 代码从一个工作簿中的工作表复制到另一个工作簿中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18497527/

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