Excel VBA两个按钮调用一个子按钮

Excel VBA两个按钮调用一个子按钮,excel,vba,button,Excel,Vba,Button,我在一个Excel文件中有两个统计表。他们的名字是OO和XX 我有单独的子程序来导出和导入OO和XX。即: 1.Sub OO-export() 'do output data from OO sheet End Sub 2.Sub XX-export() 'do output data from XX sheet End Sub 3.Sub OO-import() 'Import Data to OO sheet End Sub 4.Sub XX-import() 'Import Data

我在一个Excel文件中有两个统计表。他们的名字是OO和XX

我有单独的子程序来导出和导入OO和XX。即:

1.Sub OO-export()
'do output data from OO sheet
End Sub

2.Sub XX-export()
'do output data from XX sheet
End Sub

3.Sub OO-import()
'Import Data to OO sheet
End Sub

4.Sub XX-import()
'Import Data to XX sheet
End Sub
两个导入子例程都包含非常相似的代码,两个导出子例程都包含非常相似的代码

我想将OO-/XX特定的子例程重构为更通用的导入和导出子例程,例如TT导入和TT导出

通用子例程将根据用户单击的按钮(例如OO按钮或XX按钮)有条件地处理OO或XX


如何创建可以根据单击的按钮处理正确表格的通用子例程?给我一些提示

您可以创建两个带参数的主Sub。然后,4个小的其他子节点可以访问主节点,提供将在该主节点中使用的参数

Sub sub_A1()
  Call A("A1")
End Sub

Sub sub_A2()
  Call A("A2")
End Sub

Sub sub_B1()
  Call B("B1")
End Sub

Sub sub_B2()
  Call B("B2")
End Sub

Sub A(argument As String)
  MsgBox "Sub A was called by clicking button " & argument
End Sub

Sub B(argument As String)
  MsgBox "Sub B was called by clicking button " & argument
End Sub
这里
A
B
是主sub,由较小的sub引用。只有较小的子节点链接到按钮。当您单击按钮
A1
A2
时,最初会访问
sub_A1
sub_A2
,但它们只会将参数发送到主函数
A
,在那里您可以使用该参数执行任何操作。在这种情况下,sub
A
只打印它接收到的内容


如果没有任何代码,我不确定是否有人可以帮助您。请注意,带有字符串的参数只是一个示例。它可以是任何类型,甚至是工作表的参考。如果答案有助于解决问题,请检查✓ 答案旁边的符号。