2016-10-10 5 views
0

私はこのVBAを使用して、データベースの検索語を検索します。私はデータベースに存在しない単語を入力する場合、私は新しい単語Excelランタイムエラー '13'

Private Sub Worksheet_Change(ByVal Target As Range) 
If Target.Address = "$B$3" Then 
ActiveSheet.Hyperlinks.Add Anchor:=[C3], Address:="", SubAddress:= _ 
"EV!C" & Cells(3, 3) 
End If 
End Sub 

答えて

0

を入力していたときに、それはあなたが常にでOn Error Resume Nextを追加することができます...「実行時エラー 『13』」をdisboard示して、私はそれを却下するのに役立ちますあなたのサブのトップ。一般的に私はこの構造のファンではありません(エラーは無視されるべきではないので無視する必要があります)。しかし、1つのステートメントのサブは妥当なユースケースです。エラーが発生した場合、サブは効果がありません。これはあなたが望むように見えます。一方、あなたは次のようなことをすることができます:

Private Sub Worksheet_Change(ByVal Target As Range) 
    On Error GoTo err_handler 
    If Target.Address = "$B$3" Then 
     ActiveSheet.Hyperlinks.Add Anchor:=[C3], Address:="", SubAddress:= _ 
     "EV!C" & Cells(3, 3) 
    End If 
    Exit Sub 
err_handler: 
    MsgBox "Please enter a valid word." 
End Sub 
+0

素晴らしい!それは働いている。ありがとうございます! ❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤ – 00001

+0

私は助けることができてうれしいです。あなたの問題を解決するなら、あなたはいつもこの答えを「受け入れられた」とマークすることができます。 –

関連する問題