使用CodeModule将代码插入新工作表需要打开VB编辑器

时间:2016-03-04 21:54:24

标签: vb.net excel vba excel-vba

我希望能够将代码添加到新创建的工作表中。下面的代码块会这样做,但如果Visual Basic编辑器未打开,则会给出错误(指向下面代码的第一行)。并且,如果它在后台打开,它将在宏完成运行后激活VB编辑器窗口。

With wb.VBProject.VBComponents(wb.Worksheets(newSheetName).CodeName).CodeModule
    .InsertLines Line:=.CreateEventProc("FollowHyperlink", "Worksheet") + 1, _
    String:=vbCrLf & _
    "Call FindAllInSheet(Target.Range.Text, Range(Cells(2, 2),Cells(" & num_triple_combos + 1 & ", " & start_triples_col + 1 & ")))"
End With

有没有办法避免这种行为?

1 个答案:

答案 0 :(得分:0)

目前,我所做的工作是用

包围我的代码
Application.VBE.MainWindow.Visible = True

...

Application.VBE.MainWindow.Visible = False

现在唯一的问题是,在将代码添加到指定工作表之前,宏将遍历每个现有工作表。我不确定为什么。

我的主要来源:http://www.mrexcel.com/forum/excel-questions/31259-macro-call-visual-basic-editor.html