1

以下のエラー ハンドラは、エラーが発生したときに正しく動作します。ただし、エラーがない場合は正しくスキップされますが、ErrHandler:無視されるべきセクションのコードが実行されます。誰が私が間違っているのか教えてもらえますか?

Sub PopulateDynamicReport()

Dim getcolumnPDR As Range
Dim getFieldDescriptionPDR As String
Dim getFormulaPDR As Variant
Dim columnletter As String
Dim myrange As String

Sheets("Config").Select

Cells.Find(What:="Field Description", after:=ActiveCell, LookIn:= _
        xlFormulas, LookAt:=xlPart, searchorder:=xlByRows, searchdirection:= _
        xlNext, MatchCase:=False, SearchFormat:=False).Offset(1, 0).Activate

Do
    If ActiveCell <> "" Then

        Set getcolumnPDR = getcolumn
        getFieldDescriptionPDR = getFieldDescription

        If ActiveCell.Offset(0, 1) = "Not Applicable" Then

            getFormulaPDR = ""

            On Error GoTo ErrHandler

            Sheets("Dynamic Report").Cells.Find(What:=getFieldDescriptionPDR, after:=ActiveCell, LookIn:= _
            xlFormulas, LookAt:=xlPart, searchorder:=xlByRows, searchdirection:= _
            xlNext, MatchCase:=False, SearchFormat:=False).EntireColumn.Copy getcolumnPDR

            On Error GoTo 0

            ActiveCell.Offset(1, 0).Activate

        Else
            getFormulaPDR = getFormula
            columnletter = ActiveCell.Offset(0, -1)

            ActiveCell.Offset(0, 1).Copy Sheets("Pricing Analysis").Cells(FindLastRow, columnletter)
            Sheets("Pricing Analysis").Activate
            Cells(FindLastRow, columnletter).Activate
            ActiveCell.Copy
            Range(Selection, Selection.End(xlUp)).Select
            Selection.FillUp
            Application.CutCopyMode = False

            Sheets("Config").Activate

            ActiveCell.Copy getcolumnPDR.End(xlUp)

            Sheets("Pricing Analysis").Activate

            getcolumnPDR.EntireColumn.AutoFit
            getcolumnPDR.End(xlUp).Font.Bold = True

            Sheets("Config").Activate

            ActiveCell.Offset(1, 0).Activate
        End If


    End If

    Loop Until ActiveCell = ""

ErrHandler:
            MsgBox "Field Description in Config tab not listed on report - please check parameters"
            Exit Sub

End Sub  
4

1 に答える 1

3

次のように、エラー処理コードの開始直前にExit Subを配置します。

Exit Sub

ErrHandler:
            MsgBox "Field Description in Config tab not listed on report - please check parameters"
            Exit Sub
于 2012-12-20T15:07:37.880 に答える