如何使用当前工作表 VBA 中的代码触发单独工作表中的代码运行

埃文·韦斯特

我这里有这段代码,它周围的代码做什么并不重要,它运行正常。但是,在突出显示的点上,我需要在我指向的“SCP 状态支付者”表中触发代码,以便在该点下方的代码之前触发运行。我不想只是放入另一个按钮或其他东西,我只想让它在代码中点击该点并在其他工作表中运行代码。还没有能够在谷歌上专门找到我需要的东西,我是新手,所以我不知道该怎么做。谢谢!

在此处输入图片说明

马修·金东

The VBE's Project Explorer is making it rather hard to tell/guess what specific procedure you intend to invoke (Rubberduck's Code Explorer drilling down to procedure-level nodes would have helped here! Note: I'm one of the admins on this open-source project), but anyway it looks like you need to invoke a procedure located in the Sheet1 document module.

Say your procedure looks like this:

Public Sub DoSomething()
    ' do stuff
End Sub

Then from anywhere in your project, you can do this:

Sheet1.DoSomething

Which isn't any different than when you do this:

MsgBox "hello, world"

That's invoking a public/global-scope function located in a standard library function, whose fully-qualified name would be:

VBA.Interaction.MsgBox "hello, world"

Now, if your procedure looks like this:

Private Sub Worksheet_Change()
    ' do stuff
End Sub

那么你有一个问题:它是Private,它是一个事件处理程序。事件处理程序可以Public像上面一样创建和调用,但是更好的做法是将主体拉入一个单独的过程,如下所示:

Private Sub Worksheet_Change()
    DoSomething
End Sub

Public Sub DoSomething()
    ' do stuff
End Sub

这样你就不用处理事件处理程序了。工作表事件处理程序旨在由 Excel 调用,而不是由用户代码调用;这同样适用于例如CommandButton1_Click处理程序:它们旨在Private由 MSForms 库调用,而不是由用户代码调用。养成在事件处理程序之外实现逻辑的习惯(并让它们调用逻辑),是一个非常好的习惯,可以尽早养成。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用vba获取当前工作目录?

来自分类Dev

在工作簿中的多个工作表上运行VBA代码

来自分类Dev

将当前工作表的内容复制到VBA创建的工作表中

来自分类Dev

Excel 2010 VBA:如何导出当前工作表,询问用户保存位置?

来自分类Dev

如何在工作簿的每个工作表中运行此VBA代码?

来自分类Dev

枚举Excel VBA中的所有当前工作表名称

来自分类Dev

VBA打开Excel文件并将表1数据粘贴到当前工作簿的“ RRimport”表中

来自分类Dev

如何使用PowerShell将VBA代码添加到Excel工作表中?

来自分类Dev

VBA复制工作表与代码

来自分类Dev

VBA 如果工作表存在则在代码中前进

来自分类Dev

在当前工作表中以及当前工作表之后的所有工作表中运行宏

来自分类Dev

试图让这个 vba 循环遍历当前工作簿中的所有工作表。它通过第一个

来自分类Dev

与当前工作簿中的工作表名称相关的公式

来自分类Dev

与当前工作簿中的工作表名称相关的公式

来自分类Dev

如何优化VBA代码以从其他工作表中搜索值

来自分类Dev

如何使用 VBA 在 2 台不同的 PC 中链接 2 个单独的 Excel 工作表?

来自分类Dev

编写新代码时,Excel VBA从工作表代码中检索常量失败

来自分类Dev

在新创建的工作簿工作表VBA中添加代码

来自分类Dev

将工作表复制/粘贴到没有该工作表的VBA代码的新工作簿中

来自分类Dev

如何使用VBA在工作表中创建MSForms ListBox?

来自分类Dev

如何使用vba监视工作表中的形状选择?

来自分类Dev

在工作表中导航的VBA代码

来自分类Dev

将工作簿中具有相同列范围的工作表拆分为使用 VBA 代码分隔 Excel 文件

来自分类常见问题

如何使用python 3获取当前工作目录?

来自分类Dev

如何使用AppleScript更改当前工作目录

来自分类Dev

如何使用VBA隐藏工作表?

来自分类Dev

使用宏将搜索框实施到当前工作表中

来自分类Dev

是否可以在已过滤的工作表上使用VBA代码?

来自分类Dev

Excel VBA-以编程方式将代码的InsertLine插入工作表的CodeModule中的特定子宏

Related 相关文章

  1. 1

    如何使用vba获取当前工作目录?

  2. 2

    在工作簿中的多个工作表上运行VBA代码

  3. 3

    将当前工作表的内容复制到VBA创建的工作表中

  4. 4

    Excel 2010 VBA:如何导出当前工作表,询问用户保存位置?

  5. 5

    如何在工作簿的每个工作表中运行此VBA代码?

  6. 6

    枚举Excel VBA中的所有当前工作表名称

  7. 7

    VBA打开Excel文件并将表1数据粘贴到当前工作簿的“ RRimport”表中

  8. 8

    如何使用PowerShell将VBA代码添加到Excel工作表中?

  9. 9

    VBA复制工作表与代码

  10. 10

    VBA 如果工作表存在则在代码中前进

  11. 11

    在当前工作表中以及当前工作表之后的所有工作表中运行宏

  12. 12

    试图让这个 vba 循环遍历当前工作簿中的所有工作表。它通过第一个

  13. 13

    与当前工作簿中的工作表名称相关的公式

  14. 14

    与当前工作簿中的工作表名称相关的公式

  15. 15

    如何优化VBA代码以从其他工作表中搜索值

  16. 16

    如何使用 VBA 在 2 台不同的 PC 中链接 2 个单独的 Excel 工作表?

  17. 17

    编写新代码时,Excel VBA从工作表代码中检索常量失败

  18. 18

    在新创建的工作簿工作表VBA中添加代码

  19. 19

    将工作表复制/粘贴到没有该工作表的VBA代码的新工作簿中

  20. 20

    如何使用VBA在工作表中创建MSForms ListBox?

  21. 21

    如何使用vba监视工作表中的形状选择?

  22. 22

    在工作表中导航的VBA代码

  23. 23

    将工作簿中具有相同列范围的工作表拆分为使用 VBA 代码分隔 Excel 文件

  24. 24

    如何使用python 3获取当前工作目录?

  25. 25

    如何使用AppleScript更改当前工作目录

  26. 26

    如何使用VBA隐藏工作表?

  27. 27

    使用宏将搜索框实施到当前工作表中

  28. 28

    是否可以在已过滤的工作表上使用VBA代码?

  29. 29

    Excel VBA-以编程方式将代码的InsertLine插入工作表的CodeModule中的特定子宏

热门标签

归档