2013-10-17 122 views
0

好的打击是我对这一点的代码。我与下面的问题有关。如果试图选择的工作表不在工作簿中,我该怎么办?我想跳过,如果没有出错,就继续前进。Excel VBA如果不在工作簿中,如何跳过工作表

If k = 1 Then 
    Sheets(Key).Select 
    IF 
    End If 

Start of full code 

    Set xlWorkbook = Workbooks.Open(FILEPATH) 
    Y = xlWorkbook.Name 
    Set xlWorkbook = Workbooks.Open(Import) 
    xy = xlWorkbook.Name 


    Workbooks(Y).Activate 
    Sheets("Sheet1").Select 


    ActiveSheet.Range("$A$1:$K$490").AutoFilter Field:=3, Criteria1:="1" 
    CP = Worksheets("Sheet1").Cells(Rows.count, "B").End(xlUp).Row - 1 

    For COUNTER = 1 To CP 
    COMBO = ActiveSheet.Range("A" & rowC).Value 
    k = ActiveSheet.Range("K" & rowC).Value 
    KEY1 = ActiveSheet.Range("B" & rowC).Value 

    If k > 1 Then 
    rowC = rowC + 1 
    KEY2 = ActiveSheet.Range("B" & rowC).Value 
    End If 

    Workbooks(xy).Activate 


    If k = 1 Then 
    Sheets(Key).Select 
    IF 
    End If 



    rowC = rowC + 1 
    Next 

回答

0

当选择了一个不存在的纸张,会的Excell抛出异常 您可以通过使用On Error

On Error Goto label 

On Error Resume next 
+0

于此异常处理它工作正常的第一次通过但第二次失败时,它无法找到工作表名称。 –

+0

处理后是否清除了错误? 'Err.Clear()'应该清空你的错误对象(数字和描述)。要实际完成错误处理,请将代码'Resume Next'放在代码中的适当位置。 –

相关问题