プロが教える店舗&オフィスのセキュリティ対策術

コード次のように書いたのですが、15年前のことで、79歳の老人ななったもので、解決するのが困難です。どうぞよろしくお願いいたします。

Private Sub Worksheet_Change(ByVal Target As Range)

Dim r As Integer, myrange As Range

Set myrange = Worksheets("検証科目").Range("A1:A18")

With Target
If .Row > 1 And .Row < 200 And .Column = 42 Then
r = Application.WorksheetFunction.Match(Target.Value, myrange, 0)
Cells(.Row, "AR").Value = _
Worksheets("検証科目").Range("B1").Offset(r - 1).Value

End If

End With
End Sub

A 回答 (2件)

Deleteキーを押すとってなら、通常セルの値が変更されたとみなされます。



Match関数を用いていてキーを押した事でセルの値が見つからない場合が出ると思いますから、
https://www.relief.jp/docs/excel-vba-error-trap- …
このように見つからない時のエラー回避を行うようにすべきかと。
    • good
    • 1

ちなみにどの行でエラーになっていますか?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています