创建宏时,我需要什么设置?

时间:2010-06-04 13:16:27

标签: vba excel-vba excel

我有一堆VBA代码,我想把它放在一个宏中。

基本上我打电话给一堆更新页面的潜艇。

它看起来像这样:

Call Update1("Work", strConn)
Call Update2("Work", strConn)
Call Update3("Work", strConn)

其中Update1,Update2和update3都在同一个表单中,格式为

Public Sub Update1(strPlace, strConn)
SQL code..
End Sub

如何在宏中抛出所有内容?我可以复制并粘贴所有代码(包括调用吗?)但是没有用。两者都没有采取Subs。不确定下一步是什么。

1 个答案:

答案 0 :(得分:1)

您需要的只是将模块作为所有此代码的容器插入。除非每一个  UPDATE subs特定于单个工作表,然后它们也应该在模块中。

您的所有“来电”声明都需要在他们自己的SUB myMain () ... END SUB

完成此操作后,您可以从“工具”,“宏”列表中运行它,或将其挂钩到其他事件(自定义工具栏按钮或其他内容)

编辑:更准确地说,这就是你的模块应该是这样的:

Sub myMainMacro()
    '... initialize stuff
    Call Update1("Work", strConn)
    Call Update2("Work", strConn)
    Call Update3("Work", strConn)
    '... do more stuff
End Sub

Sub Update1(strPlace, strConn)
    SQL code..
End Sub

Sub Update2(strPlace, strConn)
    SQL code..
End Sub

'... other UPDATE SUBs here

Function CalculateValue(myInput as integer) as integer
    '... do calculations here
    CalculateValue = answer
End Function

所有代码(全局变量声明除外,我们还没有谈到)需要在SUB或FUNCTION中(函数返回值,SUB不返回)。由于它们都在同一个模块中,因此不需要关键字PUBLIC。