0

ワークシートでonchangeイベントを使用する場合、onchangeスクリプト内のターゲットセルの値を変更したいと思います。

私はこれを行う方法を見つけていません。私はもう試した:

Target = "some value"
Range(Target.Address) = "some value"
Target.Value = "some value"

しかし、役に立たない。

これによりonchangeイベントが再度トリガーされる可能性があることは承知していますが、スクリプトはそのために準備されています。そして、それがトリガーされることになっていない場合、私は使用するかもしれません

Application.EnableEvents = False

更新前および

Application.EnableEvents = True

それが終わったら...

何か案は?

4

1 に答える 1

3

これはあまり答えではないことはわかっていますが、コードを投稿できるようにする必要があります。

ワークシートコードセクションに入力すると、次のように完全に機能します。

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    Target.Value = "some value"
    Application.EnableEvents = True
End Sub

セルを選択し、「a」と入力して Enter キーを押します。テキスト「some value」に置き換えられます。入力時にセルの内容を置き換えたい場合は、運が悪いです。私の知る限り、イベントはセルの内容が変更された後にのみ発生します。

于 2013-01-08T02:13:36.347 に答える