用户更改单元格值时需要评论或注释

时间:2019-02-04 00:24:58

标签: excel vba

我正在制作一个电子表格,其中有不同设备的默认折扣。有时需要折扣。但是,售货员因未经授权而更改折扣而臭名昭著。如果要更改默认值,我想要求发表评论,如果更改了值,我什至只是自动打开单元格评论窗口。我可以使用什么代码打开注释(或注释)以供VBA用户输入?似乎很简单,但我无法在线找到它。谢谢!

1 个答案:

答案 0 :(得分:0)

由于您只希望代码在价格变动时执行,因此您需要限制WorkSheet_Change事件的范围。理想情况下,您的价格将跨越一列。

仅当在Column E上更改单元格时,此代码才会执行​​-您需要相应地对其进行更改。


Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

'Change this line to modify scope of macro
If Target.Count <> 1 Or Target.Column <> 5 Then Exit Sub

    Dim Reason As String

    MsgBox "Changing the price requires a comment", vbCritical

    On Error Resume Next
        Reason = Application.InputBox("Please justify the price discount: ", "Discount", Type:=2)
    On Error GoTo 0

    If Reason = "" Or Reason = "False" Then
        Application.EnableEvents = False
            MsgBox "Unable to change price"
            Application.Undo
        Application.EnableEvents = True
    Else
        Target.ClearComments
        Target.AddComment Reason
    End If

End Sub