我有2个excel文件
我正试图从这两个文件来回跳转,链接到它跳转到的工作簿的某些表。
Option Explicit
Dim stage1 As Workbook
Dim stage2 As Workbook
Sub Open_stage1_Menu()
Set stage1 = Workbooks.Open(ActiveWorkbook.Path & "\stage1.xlsm")
stage1.Sheets("Menu").Activate
End Sub
Sub Open_stage1_Data()
Set stage1 = Workbooks.Open(ActiveWorkbook.Path & "\stage1.xlsm")
stage1.Sheets("Data").Activate
End Sub
Sub Open_stage2_Calculation()
Set stage2 = Workbooks.Open(ActiveWorkbook.Path & "\stage2.xlsm")
stage2.Sheets("Calculation").Activate
End Sub
Sub Open_stage2_Charts()
Set stage2 = Workbooks.Open(ActiveWorkbook.Path & "\stage2.xlsm")
stage2.Sheets("Charts").Activate
End Sub
所有宏都存储在stage1工作簿中。我已经实现了按钮来浏览工作表,但跳转到stage2会导致错误(下标超出范围)但不会导致阶段1。
答案 0 :(得分:1)
删除所有工作簿。打开代码行 你只需要打开" stage2"工作簿一次。 " stage1"工作簿已经开放。您可以使用按钮打开" stage2"工作簿或常规模块。
在stage1工作簿中创建这些宏
Sub Open_stage1_Menu()
Workbooks("stage1.xlsm").Sheets("Menu").Activate
End Sub
Sub Open_stage1_Data()
Workbooks("stage1.xlsm").Sheets("Data").Activate
End Sub
Sub Open_stage2_Calculation()
Workbooks("stage2.xlsm").Sheets("Calculation").Activate
End Sub
Sub Open_stage2_Charts()
Workbooks("stage2.xlsm").Sheets("Charts").Activate
End Sub
在stage1工作簿,工作表"菜单"中添加一个新按钮并选择" Open_stage2_Calculation"
在stage1工作簿中添加另一个按钮,工作表"菜单"并选择" Open_stage2_Charts"
您还可以将这两个按钮添加到另一个工作表"数据"
转到stage2工作簿;
在stage2工作簿,工作表中添加一个新按钮" Calculation&#34 ;;在"分配宏中使用"宏在:下拉菜单中选择" stage1"工作簿并选择" Open_stage1_Menu"
在stage2工作簿中添加另一个按钮,工作表"计算" ;在"分配宏中使用"宏在:下拉菜单中选择" stage1"工作簿并选择" Open_stage1_Data"
您还可以将这两个按钮添加到另一个stage2工作表" Charts"