【发布时间】:2016-08-15 19:29:06
【问题描述】:
这是一个(据我所知)CPearson's resource site 没有涉及的主题(对于那些希望在 Excel 中使用宏以编程方式将代码插入新工作表/工作簿或现有工作表的人来说,这是一个非常好的资源工作表/工作簿)。
我目前有 Sheet1,其中包含一系列四到五个单独的子宏,它们执行当前不相互影响的功能。我编写了一个宏,当用户按下按钮激活它时,它会创建一个新的工作表并将几行代码插入到该工作表上(此任务已经完成并正常运行)。
我的目标是在此过程中添加一行,以便在执行上述操作后,将“代码行 xyz #1”添加到此 CodeModule 中的特定过程中,即:“Sub MacroMain() ”。
我目前能够(几乎)使用以下方法实现此结果,其中“AddCode”是一个文本字符串:
ActiveWorkbook.VBProject.VBComponents(Sheets("Sheet1").CodeName).CodeModule.AddFromString AddCode
然而,这个解决方案的问题是它只将新的代码行添加到 Sheet1 的 CodeModule 的最上面部分,而不是特定的子宏 Sub MacroMain。不幸的是,尝试在上述行中引用 SubMacroMain 会产生“预期函数或变量”错误。我认为这是我的用户格式错误。
我想知道是否应该使用上面列出的代码行来遵循某种语法,以便将插入此过程中的代码放入 Sheet1 的 CodeModule 中的特定宏中。
谢谢。
【问题讨论】: