4

列 A にデータがあり、列 A のデータが変更されたときに列 B にタイム スタンプが必要です。

ここで注意が必要な部分があります。列 A の値は、Vlookup テーブルからの数式に基づいています。この Vlookup テーブルには dde ​​リンクがあります。そのため、スプレッドシートを手動で入力する必要はありません。

以下のコードは、列 A にデータを入力する必要がある場合にうまく機能しますが、上記のシナリオでは機能しません。セルA1 = C1+D1。C1 または D1 のいずれかを変更すると、A1 が変更されます ... しかし、これはマクロを起動しません。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        Cells(Target.Row, 2).Value = Now
    End If
End Sub
4

2 に答える 2

2

私はそのようなことにあまり慣れていませんが、リンクされた Oracle DB selectWorksheet_Changeは、ワークブックの更新時にコードでイベントをトリガーします。ただし、あなたのケースは別のものかもしれません-あなたのデータ構造がわかりません。

とにかく、次のトリックを使用してみてください: 列 A のどこかに単純な数式を追加します。たとえば=A1( A1DDE 更新で変更された場合) - 更新時に変更され、Worksheet_Changeイベントをトリガーする必要があります。

詳細は、Excel 2000 の DDE リンク - マクロの実行方法 を参照してください。

于 2013-02-22T18:57:49.343 に答える