使用VBA代码和button将工作表移动到新的工作簿
我有一个工作表,macros和button。 我想将该工作表复制到其他工作簿,以便macros可以与新工作簿中的数据一起使用。
我的问题是,当我将工作表复制到一个新的工作簿,macros随附,但工作表上的button仍然指向原始工作簿中的macros。 您必须右键单击“分配macros”并select当前工作簿中的macros。
是否有一个属性设置告诉Excel中的button在新的工作簿中使用macros而不是旧的工作簿?
您可以在您的macros中包含一行,重新将控件分配给其自己的工作簿中的macros,而不是原始工作簿。
你可以做的只是logging分配macros的行为,例如:
ActiveSheet.Shapes.Range(Array("Button 1")).Select Selection.OnAction = "Macro1"
然后摆脱烦人的“select”的东西:
ActiveSheet.Shapes.Range(Array("Button 1")).OnAction = "Macro1"
在那里,你有它。 当然,button和macros的名称随着工作簿的不同而有所不同,但是会更接近于此。
你的问题有些模糊。 我会猜测。
你必须:
-
确保要运行的
Sub
实际上包含在Worksheet
以进行复制。 按Alt + F11打开VB编辑器,您将在左侧看到工作表和其他模块。 -
检查代码,并确保所有对macros的引用都没有以任何Sheet / Workbook名称作为前缀。