一次运行多个宏(不同的表)

时间:2013-08-14 15:59:54

标签: vb.net excel

我正在使用VB为Excel中的两个不同工作表运行多个宏。

Sheet1:我可以一起运行多个宏:

Sub option2()
    CreateTable2
    HeaderChange1
    HeaderChange2
    HeaderChange3
    HeaderChange4
End Sub

表2:我可以一起运行多个宏(这会显示表1中的宏创建的新数据):

Sub option1()
    ClearCols
    CreateTable
    MoveColumns
End Sub

有没有办法可以运行一个宏来同时完成所有功能 - 而不是分别运行上面的两个?

2 个答案:

答案 0 :(得分:0)

首先,您应该将所有活动表格引用替换为特定工作表,将工作表信息添加到您没有工作表信息的所有范围,例如。

activesheet.range("A1").copy变为Sheets("Sheet1").range("A1").copy

range("A1").copy变为Sheets("Sheet1").range("A1").copy

然后,您可以组合所有宏或在一个组合宏中运行它们:

Sub RunAllMacros
CreateTable2
HeaderChange1
HeaderChange2
HeaderChange3
HeaderChange4
ClearCols
CreateTable
MoveColumns
End Sub

如果仍然使用活动工作表,则可以在中间更改选择(尽管应该避免在VBA中选择,除非您希望用户看到选择更改)

Sub RunAllMacros

CreateTable2
HeaderChange1
HeaderChange2
HeaderChange3
HeaderChange4

Sheets("Sheet2").select

ClearCols
CreateTable
MoveColumns
End Sub

答案 1 :(得分:0)

在我看来,你可以创建一个新的宏来运行这两个选项......

Sub bothOptions()
    Call Option1
    Call Option2
End Sub

这是你需要的吗?