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”并按回车;它被文本“一些价值”所取代。如果您希望在键入时替换单元格内容,那您就不走运了;据我所知,该事件只会在单元格内容更改后触发。

于 2013-01-08T02:13:36.347 回答