在Excel中停止VBA宏

时间:2013-03-01 10:25:48

标签: excel vba

这段代码假设在多个打开的文件上执行任务。这里call Donemovement应该格式化该文件,而Call AllSingles将文件带到适当的路径。像文件名是ABC然后它将其保存在ABC文件夹中,如果它的DEF然后它在DEF中。我想要一行代码,当一个文件以AllSingles中未定义的名称打开时,该代码可以阻止代码运行。因为它无法将文件带到适当的文件位置。

 Sub OpenAllWorkbooksnew()

    Set destWB = ActiveWorkbook
    Dim DestCell As Range


     Dim cwb As Workbook
     For Each cwb In Workbooks


        Call donemovementReport



    Call AllSingles






    ActiveWorkbook.Close False

    Next cwb


     End Sub

2 个答案:

答案 0 :(得分:1)

这个页面可能会帮助您解决问题吗? http://www.cpearson.com/excel/errorhandling.htm

答案 1 :(得分:0)

在运行时停止代码并不是一种好习惯。如果您的目标是处理所有映射文件并被提示任何未映射的文件,那么我建议静默记录未映射的文件。您可以使用FileSystemObject对工作表,输出窗口或文本文件执行此操作:See Here如果您使用开关案例保存到不同区域,则可以在Case Else部分中编写失败映射的日志。

这允许程序运行而不会因为未映射的文件而不断观察它。然后,您可以返回,读取输出日志并映射所有失败的文件。