Private Sub ComboBox2_Click()
     CopyTemp
    Application.DisplayAlerts = False
    ThisWorkbook.Worksheets("sheet1").Delete
    ThisWorkbook.Worksheets("test模板").Name = "sheet1"
    Application.DisplayAlerts = True
End SubFunction CopyTemp()
Dim MyPath As String, RepTemp As Workbook
    MyPath = ThisWorkbook.Path
    Set RepTemp = Workbooks.Open(Filename:="d:\222.xlsm", ReadOnly:=True)
    RepTemp.Sheets("test模板").Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
    RepTemp.Close False
End Function我想通过这段代码把222.xlsm的工作表“test模板”复制到当前的工作簿中,并且替换成当前的工作表sheet1,但运行到“ThisWorkbook.Worksheets("sheet1").Delete”时出现“不能进入中断模式”,请大神们帮忙解答

解决方案 »

  1.   

    注释掉所有On Error Resume Next语句,在VBA IDE中运行,
    出错后点击调试,光标会停在出错的那条语句处,
    或者
    事先在怀疑可能有逻辑错误的语句处设置断点,运行经过断点时中断,此时可以在立即窗口中使用
    ?变量名

    ?函数名(函数参数)

    过程名(参数)
    辅助调试。
      

  2.   

    这是软件的限制吧!应该无解。正如你的VBA代码在运行时:
     你不能添加或删除:模块(标准模块、类模块等)、用户窗体;
     你也不能增加或删除:类型定义、API声明、自定义函数/过程。
    等等……
    因为这些都牵涉到“工程结构”,在“运行中”时,是不能变工程结构的。