1. ホーム
  2. vba

[解決済み] VBAのコードに「Label Not define」がありますが、これは何ですか?

2022-02-19 18:48:54

質問

MS AccessにVBAのコードを持っています。

Private Sub ToolingNoID_AfterUpdate()
On Error GoTo ToolingNoID_AfterUpdate_Err

Dim ToolingNoID As String
ToolingNoID = InputBox("Please enter Tooling No", "Enter Tooling No")

If (IsNull(ToolingNoID)) Then
    Exit Sub
    Beep
    MsgBox "Please enter the tooling number.", vbOKOnly, ""
    DoCmd.CancelEvent
End If

End Sub

オフェンスラインは

Private Sub ToolingNoID_AfterUpdate()

上記の条件を満たすために、私のコードのどの部分を変更すべきなのか、本当に見当がつかないのです。どなたか教えてください。

どのように解決するのですか?

問題のある行は Sub という宣言がありますが、これはこの行です。

On Error GoTo ToolingNoID_AfterUpdate_Err

はありません。 ToolingNoID_AfterUpdate_Err というラベルをプロシージャに追加してください。を削除してください。 On Error ステートメントを使用するか、プロシージャの最後にエラー処理のサブルーチンを追加してください。

    Exit Sub
ToolingNoID_AfterUpdate_Err:
    MsgBox Err.Description, "Unexpected Error", vbExclamation
End Sub

VBAでは、行ラベルは識別子とコロンで定義され、コードの行頭に置かれます(理想的には1つの行に置かれる)。

LineLabel:

ラベルが定義されていません"は、ある命令がそのスコープに存在しないラベルを参照しているときに発生するコンパイル・エラーです。