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