【问题标题】:Inserting code into new worksheet with CodeModule requires VB editor to be open使用 CodeModule 将代码插入新工作表需要打开 VB 编辑器
【发布时间】:2016-03-04 21:54:23
【问题描述】:

我希望能够将代码添加到新创建的工作表中。下面的代码块可以做到这一点,但如果 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

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

【问题讨论】:

标签: vb.net vba excel


【解决方案1】:

目前,我所做的就是用

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

...

Application.VBE.MainWindow.Visible = False

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-27
    • 2015-08-04
    • 1970-01-01
    • 2014-11-16
    • 2016-04-13
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    相关资源
    最近更新 更多