VBA刷新onchange事件内的目标单元格内容

时间:2013-01-08 01:51:16

标签: vba excel-vba onchange excel

在某些工作表上使用onchange事件时,我希望在onchange脚本中更改Target单元格的值。

我还没有办法做到这一点。我试过了:

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

但无济于事。

我知道这可能会再次触发onchange事件,但脚本已为此做好准备。如果它不应该被触发,我可以使用

Application.EnableEvents = False

在任何更新和

之前
Application.EnableEvents = True

完成后......

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

我知道这不是一个答案,但我需要能够发布代码。

在工作表代码部分输入以下内容对我来说绝对正常:

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

我选择一个单元格,输入“a”然后按回车键;它被文本“某种价值”所取代。如果您想在键入时更换单元格内容,那么您运气不佳;据我所知,事件只会在细胞内容发生变化后触发