0

次の VB コードを実行し、「変更の追跡」機能をオンにすると、MS Excel でエラーが発生します。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        If IsEmpty(Target) Then
            Target.Offset(0, 1).Value = Empty
        Else
            Target.Offset(0, 5).Value = Now()
        End If

    End If

End Sub

最初の 2 行には問題なくデータを入力できるようですが、3 行目以降にデータを入力し始めると、「実行時エラー '1004' アプリケーション定義またはオブジェクト定義のエラー」というエラーが表示されます。

4

2 に答える 2

0

変更の追跡により、ワークブックが強制的に共有されるため、多くの機能が無効になります (たとえば、変更の追跡が有効になっていると VBA にアクセスできません)。

このエラーがスローされる理由は完全にはわかりませんが、このメッセージが表示されないようにするための回避策はResume Next、エラーが発生した場合です。

On Error Resume Next

If最初のブロック ( )について次のコード行を追加するだけIf Target.Column = 1 Thenです。理想的には、この問題の原因を特定する必要があり、この解決策は回避策であり、推奨されない可能性があることに注意してください。

于 2013-02-13T17:42:48.067 に答える
0

このコードで行 2 以降からエラーが発生し、変更の追跡がオンになっています。ただし、コードはエラーに関係なく本来の動作をしているように見えるため、On Error Resume Next回避することをお勧めします。

これは、変更の追跡に関する根本的な問題に対処するものではなく、変更が追跡されない可能性があります。

于 2013-02-13T17:45:49.630 に答える