我正在使用VB为Excel中的两个不同工作表运行多个宏。
Sheet1:我可以一起运行多个宏:
Sub option2()
CreateTable2
HeaderChange1
HeaderChange2
HeaderChange3
HeaderChange4
End Sub
表2:我可以一起运行多个宏(这会显示表1中的宏创建的新数据):
Sub option1()
ClearCols
CreateTable
MoveColumns
End Sub
有没有办法可以运行一个宏来同时完成所有功能 - 而不是分别运行上面的两个?
答案 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
这是你需要的吗?